代码之家  ›  专栏  ›  技术社区  ›  James Hay

如何构造wcf http post调用的请求?

  •  0
  • James Hay  · 技术社区  · 15 年前

    我有一个非常简单的服务,我正在处理的定义是:

    [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 回复  |  直到 15 年前
        1
  •  0
  •   Richard Szalay    15 年前

    通过向该方法添加XmlSerializerFormattribute,使其按预期开始工作

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