所以我使用Rest WebHttp调用wcf webservice。我还设置了第二个绑定mex进行测试。我的方法正在运行,但是当我尝试通过客户端应用程序通过fiddler或直接httppost进行测试时,我收到400 Bad request错误。我正在将多个datacontracts传递给该方法。它迫使我使用包裹的BodyStyle,但我不知道如何格式化我的xml进行测试。我已经创建了一个测试方法来尝试这个和相同的错误。这是我的代码:我的所有其他方法都使用一个datacontract,但这个我有两个没有。我相信这个问题是在这篇文章底部的xml中,它需要被包装,但我不知道如何包装它。
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped)]
string Test(wsAuth a, wsMed m);
[DataContract(Namespace = "")]
public class wsMed
{
[DataMember]
public string Test{ get; set; }
}
[DataContract(Namespace = "")]
public class wsAuth
{
[DataMember]
public string UserName { get; set; }
[DataMember]
public string Password { get; set; }
[DataMember]
public string DeviceId { get; set; }
}
我正在使用的xml
<Test>
<wsAuth>
<DeviceId>jenglish</DeviceId>
<Password>treetop</Password>
<UserName>jenglish</UserName>
</wsAuth>
<wsMed>
<Test></Test>
</wsMed>
</Test>