Concrete WSDL Documents

The concrete WSDL document adds the following elements to the abstract WSDL document: Bindings, Ports and Services.

  • Bindings
     connect a port type to a protocol and data format
  • Ports
     (also referred to as endpoints) are comprised of a binding and a network address
  • Services
     are collections of ports

The following WSDL document fragment contains the concrete WSDL elements of the stock quote service (for SOAP over HTTP).

<binding name="StockQuoteSoapBinding"
   type="tns:StockQuotePortType">
   <soap:binding style="document"
      transport="http://schemas.xmlsoap.org/soap/http"/>
   <operation name="getQuote">
      <soap:operation soapAction="http://ns.tibco.com/getQuote"/>
      <input>
         <soap:body use="literal"/>
      </input>
      <output>
         <soap:body use="literal"/>
      </output>
   </operation>
</binding>
<service name="StockQuoteService">
   <port name="StockQuotePort"
      binding="tns:StockQuoteSoapBinding">
      <soap:address location="http://ns.tibco.com/stockquote"/>
   </port>
</service>

A similar WSDL document fragment for SOAP/JMS is as follows:

<wsdl:binding name="SOAPService_Binding1"
   	type="tns:helloWorld">
   <soap:binding style="document" transport="http://www.tibco.com/namespaces/ws/2004/soap/binding/JMS" />
   <jms:binding messageFormat="text" />
   <wsdl:operation name="Hello">
   <wsdl:documentation />
   <soap:operation soapAction="Hello" style="document" />
   <wsdl:input>
      <soap:body parts="parameters" use="literal" />
   </wsdl:input>
   <wsdl:output>
      <soap:body parts="parameters" use="literal" />
   </wsdl:output>
  </wsdl:operation>
</wsdl:binding>
<wsdl:service name="NewComponent_1.0.0.201205021319_service_NewService_NewService">
   <wsdl:port binding="tns:SOAPService_Binding1"name="SOAPService_Binding1">
   <soap:address location="" />
      <jndi:context>
         <jndi:property name="java.naming.factory.initial" type="java.lang.String">com.tibco.tibjms.naming.TibjmsInitialContextFactory</jndi:property>
         <jndi:property name="java.naming.provider.url" type="java.lang.String">tibjmsnaming://uk-n2-base:7222</jndi:property>
      </jndi:context>
   <jms:connectionFactory>QueueConnectionFactory</jms:connectionFactory>
<jms:targetAddress destination="queue">queue.sample</jms:targetAddress>
  </wsdl:port>
  </wsdl:service>