2011-08-25 20 views
6

içinde SOAP1.1'i nerede bulabilirim WCF BasicHTTPBinding kullanılarak üretilen WSDL'de SOAP 1.1/1.2'nin hangi sürümünün kullanıldığını bulmaya çalışıyorum. Ama ben pin-point yapamam.WCF BasicHttpBinding - WSAPL

Müşterilerime SOAP'nin belirli bir sürümünü kullandığımızı söyleyebilmemiz için bunu onaylamalıyım. Gereksinim SOAP 1.1 kullanmaktır. BasicHttpBinding okuduklarımdan SOAP1.1 kullanıyor, ancak bulamıyor veya kontrol edemiyorum.

Birisi yardım edebilir. , ör.

<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/"> 

cevap

9

WSDL tanımınızda WCF, hem SOAP 1.1 için ad alanları içerir. ve SOAP 1.2. SOAP 1.1 için ad alanı, soap önekine sahiptir. Bütün bu unsurlar soap tarafından

<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> 

öneki bkz musunuz: SABUN 1.1 bitiş noktası yalnızca bu ad kullanacak? SOAP 1.1 ad alanı için soap öneki tanımlandığından SOAP 1.1 anlamına gelir. Bunun yerine soap12 önek kullanırsa, SOAP 1.2 anlamına gelir.

WCF hizmetinin birden çok uç noktası varsa, birden çok wsdl:port öğeye sahip olur ve bunların her biri, farklı SOAP sürümleri ve farklı ilkeleri olan kendi wsdl:binding belirtimine başvurabilir (örnekte ilke başvurularını atladım). WCF'de BasicHttpBinding her zaman SOAP 1.1 kullanır.

+0

TeşekkürlerLadislav Mrnka, siz WCF genciniz. Teşekkürler –

+0

Bu WCF kendisi ile çok ilgisi yoktur - WSDL hizmetleri tanımlamak için birlikte çalışabilir bir yoludur. –