2010-01-15 8 views
5

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.

+0

Fuori di interesse, hai provato ad utilizzare un browser per eseguire la ottiene? –

+0

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. –

+0

La risposta che ottengo dal server quando si utilizza WCF è {"request": "/ statuses/public_timeline.json", "error": "Questo metodo richiede un GET."} –

risposta

Problemi correlati