WCF BasicHttpBinding - Where can I find SOAP1.1 in WSDL

I am trying to figure out which version of SOAP 1.1 / 1.2 is used in WSDL generated using WCF BasicHTTPBinding. But I could not say for sure.

I need to confirm this so that I can tell clients that we are using a specific version of SOAP. The requirement is to use SOAP 1.1. From what I read, BasicHttpBinding uses SOAP1.1 but cannot find or check.

Did anyone help. eg.

<wsdl:definitions name="MyService" targetNamespace="http://mydomain.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://spotless.com/isb/services" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> 
+6
source share
1 answer

In the WSDL definition, WCF includes namespaces for both SOAP 1.1. and SOAP 1.2. The namespace for SOAP 1.1 has the soap prefix. The SOAP 1.1 endpoint will only use this namespace:

 <wsdl:binding name="SomeBinding" type="..."> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="GetTime"> <soap:operation soapAction="..." style="..." /> <wsdl:input name="..."> <soap:body use="..." /> </wsdl:input> <wsdl:output name="..."> <soap:body use="..." /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="..."> <wsdl:port name="..." binding="tns:SomeBinding"> <soap:address location="..." /> </wsdl:port> </wsdl:port> 

Do you see all these items with the soap prefix? This means that SOAP 1.1, because the soap prefix is โ€‹โ€‹defined for the SOAP 1.1 namespace. If the soap12 prefix is โ€‹โ€‹used soap12 , this will mean SOAP 1.2.

If the WCF service has several endpoints, it will have several wsdl:port elements, each of which can refer to its own wsdl:binding specification with a different version of SOAP and different policies (I skipped the policy links in the example).

BasicHttpBinding in WCF always uses SOAP 1.1.

+9
source

Source: https://habr.com/ru/post/895855/


All Articles