【发布时间】:2012-04-23 10:00:54
【问题描述】:
我正在使用 C#,我想检查 WSDL 支持哪个版本的 SOAP。我怎样才能找到它?
WSDL 1.1 文件中包含以下命名空间
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
WSDL 1.2 文件中包含以下命名空间
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
如果一个文件同时支持这两个版本,它可以包含以下类型的内容
<wsdl:binding name="CustServiceSoap" type="tns:CustServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="GetAllCustomers">
<soap:operation soapAction="http://tempuri.org/GetAllCustomers" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetNCustomers">
<soap:operation soapAction="http://tempuri.org/GetNCustomers" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetRangeOfCustomers">
<soap:operation soapAction="http://tempuri.org/GetRangeOfCustomers" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="CustServiceSoap12" type="tns:CustServiceSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="GetAllCustomers">
<soap12:operation soapAction="http://tempuri.org/GetAllCustomers" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetNCustomers">
<soap12:operation soapAction="http://tempuri.org/GetNCustomers" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetRangeOfCustomers">
<soap12:operation soapAction="http://tempuri.org/GetRangeOfCustomers" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
【问题讨论】:
-
这个链接有一些细节stackoverflow.com/questions/736845/…。您是否正在寻找如何在 WCF 中执行此操作?
-
我想写一个函数,如果我提供了 WSDL 文件的 URL,那么它可以返回是支持 1.1 还是支持 1.2 或者两者都支持。我认为在解析 WSDL 文件时可以做到这一点。
-
使用一些 XSLT 处理 WSDL 文档。简单、轻量级,如果您需要更改 XSLT 查找的内容(保存为模板),则无需进行完整部署。