Sto provando a creare un client WCF che accede a un'API REST. L'API richiede che venga utilizzato un GET per una determinata chiamata, quindi sto utilizzando l'attributo [WebGet] per il metodo. Tuttavia quando chiamo il metodo, la chiamata effettiva che viene prodotta è un POST (visualizzato usando Fiddler). Il mio contratto è il seguente:
Metodo WCF che invia POST anziché GET
[OperationContract]
[WebGet(UriTemplate = "/statuses/public_timeline.json",
BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
List<Status> PublicTimeline();
Ho anche provato usando [WebInvoke] con un metodo di ottenere, ma senza successo.
Fuori di interesse, hai provato ad utilizzare un browser per eseguire la ottiene? –
Sì. Inoltre, quando si utilizza POST, la risposta che ottengo dal server è un errore 400 con un testo che indica che dovrei usare GET invece di POST. –
La risposta che ottengo dal server quando si utilizza WCF è {"request": "/ statuses/public_timeline.json", "error": "Questo metodo richiede un GET."} –