我在让客户端与我的系统集成时遇到问题。我想我已经缩小了这个问题。客户端通过xml消息发送,我的系统设置为接受xml消息;但它以某种格式期待它。客户表示希望我在我的终端上设置格式以接受他们的格式。
这是客户留言:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<NewOrder>
<Message id="d3a39c31-cc9f-4331-ad13-be74522df6eb">
<Header>
<LoginAccountIdentifier>Blank</LoginAccountIdentifier>
<LoginAccountPassword>password</LoginAccountPassword>
</Header>
我注意到我的预期格式在节点上除了前缀tem:
这是预期的消息:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:NewOrder>
<tem:Message id="d3a39c31-cc9f-4331-ad13-be74522df6eb ">
<Header>
<LoginAccountIdentifier>Blank</LoginAccountIdentifier>
<LoginAccountPassword>password</LoginAccountPassword>
</Header>
我相信如果我可以删除前缀,那么这应该将客户端的消息与预期消息相匹配。问题是我在哪里删除前缀“&lt; tem:”;此外,如何防止这个变量xmlns:tem =“http://tempuri.org/”显示在我的文档中?
答案 0 :(得分:2)
我很久以前遇到过类似的问题。试试这个:
[ServiceContract(Namespace = "")]
显然,前缀由命名空间决定,所以如果你想删除它,那么这就是要走的路。
祝你好运!答案 1 :(得分:1)
我很确定这是来自WebService.svc(或.asmx)类的
[WebService(Namespace = "http://tempuri.org/")]
属性位于类定义的顶部。删除它(或将其设置为适当的值)可以解决问题。