如何构建WCF http post调用请求?

时间:2010-05-05 10:13:47

标签: wcf http rest

我有一个非常简单的服务,我正在搞乱定义:

[OperationContract]
[WebInvoke(UriTemplate = "Review/{val}", RequestFormat = WebMessageFormat.Xml, Method = "POST", BodyStyle=WebMessageBodyStyle.Bare)]
void SubmitReview(string val, UserReview review);

UserReview目前是一个没有属性的类。一切都很基础。当我尝试在Fiddler中测试时,我得到一个错误的请求状态(400)消息。

我正在尝试使用详细信息来调用服务:

POST http://127.0.0.1:85/Service.svc/Review/hello

接头

User-Agent: Fiddler
Content-Type: application/xml
Host: 127.0.0.1:85
Content-Length: 25

<UserReview></UserReview>

我认为我错过了一些相当明显的东西。有什么指针吗?

1 个答案:

答案 0 :(得分:0)

通过向方法添加XmlSerializerFormatAttribute导致它开始按预期工作

[OperationContract] 
[XmlSerializerFormat]
[WebInvoke(UriTemplate = "Review/{val}", RequestFormat = WebMessageFormat.Xml, Method = "POST", BodyStyle=WebMessageBodyStyle.Bare)] 
void SubmitReview(string val, UserReview review);