我正在使用记忆中最令人沮丧的第三方工具。当前问题:
如果我没有在 ServiceContract 属性中提供命名空间(我猜它与 WSDL 如何分解/引用 xsd 文件有关),它无法从我的 Web 服务中读取 WSDL,但如果我确实提供了命名空间,它无法处理返回的 XML,因为当响应的根中有 xmlns 属性时它会失败。
我认为这是一个远景,但有没有办法告诉 WCF 不要在生成的 Http Response 元素中使用命名空间???
谢谢。
编辑添加示例
我现在得到的(在 ServiceContract 属性中提供命名空间时):
<?xml version="1.0" encoding="ISO-8859-1" ?>
<HttpPostResponse xmlns="http://mynamespace.com">
<HttpPostResult>
<STAT xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RESPONSE _SEQUENCE_ID="1" _VERSION="1.0" _DATE="10/04/2012 12:03:21">
<STATUS _TYPE="FAILURE" _PRODUCT_CODE="1">
<ERROR _CODE="9002" _DESC="Bad code. Bad code!"/>
</STATUS>
</RESPONSE>
</STAT>
</HttpPostResult>
</HttpPostResponse>
只有在根目录中没有 xmlns 属性,我想要的是相同的:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<HttpPostResponse>
...
我“瞎了眼”,因为我基本上无法控制第三方应用程序,所以我试图找到解决方法以符合它所理解的内容。