0
所以我打电话给一个wcf webservice使用Rest WebHttp。我还建立了第二个绑定mex进行测试。我的方法正在工作,但是当我尝试通过客户端应用程序通过fiddler或直接的httppost进行测试时,我得到一个400错误的请求错误。我将多个数据合同传递给该方法。它迫使我使用包装的BodyStyle,但我不知道如何格式化我的xml以进行测试。我已经创建了一个测试方法来尝试这个和相同的错误。这里是我的代码:我所有的其他方法都与一个数据合同一起工作,但是我有两个方法没有。我相信这个问题是在这篇文章底部的xml中,它需要被封装,但我不知道如何封装它。WCF Rest多重DataContracts包装
[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>
嘿达雷尔,非常感谢您的建议,并指着我几个好帖子。我得到它的工作,我不停的命名空间为“”,但我的方法是通过a和m为paramater名称,以便下面的作品现在: \t jenglish \t 树梢 \t jenglish \t –
Carter
2010-06-25 16:24:19
@Carter祝你好运。你需要它;-) – 2010-06-25 17:17:28