2009-03-17 15 views
5

Mam usług WCF z metody, która wygląda następująco (zwraca null dla testowania z debuggera, zależy mi tylko o uzyskanie danych na razie):Jak powinien wyglądać organ wnioskujący?

[OperationContract] 
[WebInvoke(Method = "POST", UriTemplate = "fares", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)] 
public List<Fare> GetFares(Dictionary<int, int> itineraries, decimal? threshold, bool includeInternational) 
{ 
    return null; 
} 

Staram się złożyć wniosek do tego metoda używająca Skrzypka, ale nie może zrozumieć, jaki powinien być właściwy organ żądania. Mogłabym zmienić parametr Dictionary na coś innego, jeśli to działa lepiej.

w żądaniu nagłówkami mijam:

User-agent: Fiddler
Content-Type: application/json; charset = utf-8

Co powinienem umieścić w ciele?

Odpowiedz

7

Myślę, że właśnie o to prosisz.

{ 
"itineraries" : [{"Key":1,"Value":2},{"Key":2,"Value":3}], 
"threshold" : 1.0, 
"includeInternational" : true 
} 

Słownik serializuje jako tablica wartości klucza.

+0

Ja jawnie ustawić to jako żądanie POST w Skrzypek, więc dane nie są wysyłane jako część URI. Problem polega na tym, że w Fiddler chcę ręcznie wpisywać dane i nie mam pojęcia, jak ma wyglądać, więc kończę z wyjątkami po stronie serwera. –

+0

Przepraszam, że przegapiłem to pytanie i zaktualizowałem moją odpowiedź. Myślę, że powyższy json jest tym, o co prosisz. Jeśli nadal masz wyjątek, włącz system.diagnostics w konfiguracji sieci, jeśli jeszcze tego nie zrobiłeś. –

+0

To wszystko! Dzięki. –