title: I'm having trouble undestanding WS-*
body: <p>1) As far as I can tell, only transport protocol supported by WS-* specs is <code>http</code>? If so, is there a particular reason why WS-* doesn't also support other transport protocols ( <code>tcp</code> etc )? </p>
  
  <p>2) Assuming we use a non-ws.* compatible binding/protocol ( ie non compatible security, transfer, encoding etc protocols ), how is this protocol specified within <code>WSDL</code> file? Meaning, is there some common understanding about how should non-ws-* compatible protocols be named/represented within WSDL files? </p>
  
  <p>3) Do WS-* specs only recommend which protocols web services should implement for the sake of interoperability or do they also define some of these protocols?</p>
  
  <p>thank you</p>
  
  <p><strong>REPLYING TO user384706:</strong></p>
  
  <blockquote>
    <p>WS-* is a variety of specifications
    associated with web services.</p>
  </blockquote>
  
  <p>I assume WS-* itself doesn't define any of the protocols?</p>
  
  <blockquote>
    <p>They are implemented as extensions to
    SOAP.</p>
  </blockquote>
  
  <p>Could you elaborate on what you mean by <em>"as extensions of SOAP"</em>?</p>
  
  <blockquote>
    <p>WS-I Basic Profile is the
    specification that defines all the
    details that guarantee
    interoperability among web services. A
    web service fully conformant to WS-I
    BP can claim to be able to
    interoperate with any client.</p>
  </blockquote>
  
  <p>Besides <code>WS-I Basic Profile</code> specification, are there any other specifications that define all the details needed for two web services to be fully compatible? Namely,  <code>wsHttpbinding</code> supports several WS-* specifications, but is there some common name that describes this set of specifications supported by a <code>wsHttpbinding</code> ( something like <code>WS-I Advanced Profile</code> )?</p>
  
  <blockquote>
    <p>A web service fully conformant to WS-I
    BP can claim to be able to
    interoperate with any client.</p>
  </blockquote>
  
  <p>I assume web service implementing  <code>wsHttpbinding</code> isn't backwards compatible with <code>WS-I Basic Profile</code>? Thus, we can't claim this web service is fully conformant to <code>WS-I BP</code>?</p>
  
  <p><strong>REPLYING TO marc_s:</strong> </p>
  
  <blockquote>
    <p>1) I don't think this is true -
    several of the WS-* protocols are
    definitely usable over netTcpBinding,
    too - WS-Addressing, WS-Trust,
    WS-SecureConversation,
    WS-ReliableMessaging,
    WS-AtomicTransactions and more. See
    MSDN docs on NetTcpBinding mentioning
    those WS-* standards.</p>
  </blockquote>
  
  <p>But as other poster has noted, WS*- specs are implemented as an extension of <code>SOAP</code>, and <code>SOAP</code> only supports <code>Http</code>, since details of non-<code>HTTP</code> bindings are not adequately described by <code>SOAP</code> specs.  So how is WS-* able to suppport other transport protocols besides <code>http</code>?</p>
  
  <blockquote>
    <p>2) The WSDL is in no way connected to
    WS-* standards - it's just a
    standardized way to express the
    service methods and messages. It's
    totally independent of WS-* protocols
    and their implementations - you can
    absolutely use a WSDL (and XSD to go
    along with it) for your service, and
    then use basicHttpBinding or something
    else for your binding.</p>
  </blockquote>
  
  <p>I know it's a vague or even a dumb question, but ... if I create a new protocol <code>T</code> and wish for my web service to implement it, is there some agreement on how I should specify it within <code>WSDL</code>?</p>
  
  <blockquote>
    <p>The WS-* specs typically defines
    certain capabilities of your service
    and protocol - not the actual service
    methods and the messages they
    exchange.</p>
  </blockquote>
  
  <p>Does it also define any protocols?</p>
  
  <p>BTW - Besides <code>WS-I Basic Profile</code> specification, are there any other specifications that define all the details needed for two web services to be fully compatible? Namely,  <code>wsHttpbinding</code> supports several WS-* specifications, but is there some common name that describes this set of specifications supported by a <code>wsHttpbinding</code> ( something like <code>WS-I Advanced Profile</code> )?</p>