2009-03-17 27 views
5

Tôi có một dịch vụ WCF với một phương pháp mà trông như thế này (trả về null để thử nghiệm với trình gỡ lỗi, tôi chỉ quan tâm đến việc dữ liệu trong cho bây giờ):Cơ thể yêu cầu trông như thế nào?

[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; 
} 

tôi đang cố gắng để thực hiện một yêu cầu mà phương pháp sử dụng Fiddler, nhưng không thể có được đầu của tôi xung quanh trên những gì cơ thể yêu cầu chính xác nên được. Tôi có thể thay đổi các tham số từ điển để cái gì khác nếu điều đó hoạt động tốt hơn.

Trong Headers Yêu cầu tôi vượt qua:

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

Tôi nên đặt gì vào cơ thể?

Trả lời

7

Tôi nghĩ rằng đây là những gì bạn đang làm sau.

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

Từ điển được tuần tự hóa làm mảng giá trị khóa.

+0

Tôi đặt rõ ràng đây là yêu cầu POST trong Fiddler, do đó dữ liệu không được gửi như một phần của URI. Vấn đề là ở Fiddler, tôi muốn nhập dữ liệu theo cách thủ công và không biết nó trông như thế nào, vì vậy tôi kết thúc với ngoại lệ phía máy chủ. –

+0

Xin lỗi tôi đã bỏ lỡ câu hỏi và cập nhật câu trả lời của tôi. tôi nghĩ rằng json ở trên là những gì bạn đang sau. Nếu bạn vẫn nhận được một system.diagnostics biến ngoại lệ trên trong cấu hình web nếu bạn đã havent rồi. –

+0

Đúng rồi! Cảm ơn. –

Các vấn đề liên quan