NEW ISSUE: No complete WSDL sample in spec.

There is no complete WSDL example in the specification - instead in Section
3.3.1 we refer to the Example 1 in section 1.2 of the WSDL 1.1
specification [http://www.w3.org/TR/wsdl#_wsdl] and show a WSDL extract
which illustrates the SOAPJMS elements.  Combining the two to get the
complete picture is left as an exercise to the reader which is not ideal.

Proposal:
= = = = = =
- Add a new appendix (before the SOAP samples appendix C) which combines
the example from the WSDL 1.1 spec. with the SOAP/JMS example.  The
appendix will contain the following text :
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= = = =
Appendix C - WSDL 1.1 Example (Non-Normative)

This section includes a complete SOAP/JMS WSDL document which combines the
SOAP/JMS WSL fragment from Section 3.3.1 in this document with a WSDL
document based on Example 1 SOAP 1.1 Request/Response via HTTP [
http://www.w3.org/TR/wsdl#_example1]  in section 1.2 of the WSDL 1.1
specification.

<?xml version="1.0"?>.
<>.wsdl11:definitions name="StockQuote"

targetNamespace="http://example.com/stockquote.wsdl"
          xmlns:tns="http://example.com/stockquote.wsdl"
          xmlns:stockquote="http://example.com/stockquote.xsd"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:wsdl11soap11="http://schemas.xmlsoap.org/wsdl/soap/"
          xmlns:wsdl11="http://schemas.xmlsoap.org/wsdl/"
          xmlns:soapjms="http://www.w3.org/2010/soapjms/"
          xmlns="http://schemas.xmlsoap.org/wsdl/">

    <wsdl11:types>
       <xsd:schema targetNamespace.="http://example.com/stockquote.xsd">
           <xsd:element name="TradePriceRequest">
              <xsd:complexType>
                  <xsd:all>
                      <xsd:element name="tickerSymbol" type="xsd:string" />
                  </xsd:all>
              </xsd:complexType>
           </xsd:element>
           <xsd:element name="TradePrice">
              <xsd:complexType>
                  <xsd:all>
                      <xsd:element name="price" type="xsd:float" />
                  </xsd:all>
              </xsd:complexType>
           </xsd:element>
       </xsd:schema>
    </wsdl11:types>

    <wsdl11:message name="GetLastTradePriceInput">
        <wsdl11:part name="body": element="stockquote:TradePriceRequest"./>
    </wsdl11:message>

    <wsdl11:message name="GetLastTradePriceOutput">
        <wsdl11:part name="body": element="stockquote:TradePrice"/>
    </wsdl11:message>

    <wsdl11:portType name="StockQuotePortType">
        <wsdl11:operation name="GetLastTradePrice">
           <wsdl11:input message="tns:GetLastTradePriceInput"/>
           <wsdl11:output message="tns:GetLastTradePriceOutput"/>
        </wsdl11:operation>
    </wsdl11:portType>

     <wsdl11:binding name="StockQuoteSoapHTTPBinding" type=
"tns:StockQuotePortType">
        <wsdl11soap11:binding style="document"
                transport="http://schemas.xmlsoap.org/soap/http"/>
         <wsdl11:operation name="GetLastTradePrice">
            <wsdl11soap11:operation soapAction=
"http://example.com/GetLastTradePrice"/>
           <wsdl11:input>
               <wsdl11soap11:body use="literal"/>
            </wsdl11:input:>
           <wsdl11:output>
               <wsdl11soap11:body use="literal"/>
          </wsdl11:output>
        </wsdl11:operation>
    </wsdl11:binding>

   <wsdl11:binding name="StockQuoteSoapJMSBinding" type=
"tns:StockQuotePortType" >
       <wsdl11soap11:binding style="document"
              transport="http://www.w3.org/2010/soapjms/"/>

       <!-- We want this binding to use a particular CF class -->
       <soapjms:jndiConnectionFactoryName>
         sample.jms.ConnectionFactory
       </soapjms:jndiConnectionFactoryName>

       <!-- Specify PERSISTENT delivery mode -->
       <soapjms:deliveryMode>PERSISTENT</soapjms:deliveryMode>

       <wsdl11:operation name="GetLastTradePrice">
         <wsdl11soap11:operation soapAction=
"http://example.com/GetLastTradePrice"/>
         <wsdl11:input>
             <wsdl11soap11:body use="literal"/>
         </wsdl11:input:>
         <wsdl11:output>
             <wsdl11soap11:body use="literal"/>
          </wsdl11:output>
       </wsdl11:operation>
   </wsdl11:binding>

   <wsdl11:service name="StockQuoteService">
       <wsdl11:documentation>My first service</wsdl11:documentation>
       <wsdl11:port name="StockQuotePort" binding=
"tns:StockQuoteSoapHTTPBinding">
           <wsdl11soap11:address location="http://example.com/stockquote"/>
       </wsdl11:port>
       <wsdl11:port name="StockQuotePort_jms" binding=
"tns:StockQuoteSoapJMSBinding">
            <wsdl11soap11:address location=
"jms:jndi:myQueue?targetService=stockquote"/>
       </wsdl11:port>
   </wsdl11:service>

</wsdl11:definitions>

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= = = =

Received on Tuesday, 24 August 2010 15:26:35 UTC