重新排序ASP.NET Web服务中的wsdl:definitions

时间:2009-12-18 00:52:07

标签: .net asp.net web-services wsdl namespaces

我正在创建一个实现特定现有WSDL的ASP.NET Web服务。有一些小的差异可能不是什么大问题,但我想尽可能接近匹配。我开始认为这甚至不可能。

第一个区别是wsdl:定义的顺序不同,并且有一个额外的值。

这就是我想要的样子:

<wsdl:definitions 
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:tns="urn:MyNamespace:Gateway"
    xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
    targetNamespace="urn:MyNamespace:Gateway"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>

这就是我得到的:

<wsdl:definitions 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:tns="urn:MyNamespace:Gateway"
    xmlns:s="http://www.w3.org/2001/XMLSchema"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
    targetNamespace="urn:MyNamespace:Gateway"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>

请注意,它们的顺序不同,我还有其他 soap12 命名空间。如何以相同的顺序获取它们并删除soap12名称空间?

1 个答案:

答案 0 :(得分:1)

根据http://forums.parasoft.com/index.php?showtopic=920,您可以使用web.config中的以下代码关闭soap12名称空间:

<system.web>
 <webServices>
   <protocols>
     <remove name="HttpSoap12"/>
   </protocols>
 </webServices>
</system.web>