WSDL-Erweiterung schreiben, die Ihrem WSIF-Service den Zugriff auf einen SOAP-over-JMS-Service ermöglicht

Sie können eine WSDL-Erweiterung (Web Services Description Language) schreiben, mit der Ihr WSIF-Service (Web Services Invocation Framework) auf einen SOAP-Service zugreifen kann, der Java™ Message Service (JMS) als Transportmechanismus verwendet.

Vorbereitende Schritte

In diesem Artikel wird davon ausgegangen, dass Sie bei der Installation von WebSphere Application Server einen JMS-Provider ausgewählt und konfiguriert haben (entweder den Standard-Messaging-Provider oder einen anderen Provider wie den WebSphere MQ-Messaging-Provider). Sollten Sie noch keinen JMS-Provider ausgewählt und konfiguriert haben, tun Sie dies jetzt gemäß der Beschreibung im Artikel Messaging-Provider auswählen.

Informationen zu diesem Vorgang

Wenn eine SOAP-Nachricht nur XML enthält, kann sie per JMS-Transport (Java Message Service) mit dem JMS-Typ für Nachrichtenhauptteile TextMessage übertragen werden. Die SOAP-Nachricht wird zusammen mit dem SOAP-Envelope in eine JMS-Nachricht integriert und in die entsprechende Warteschlange gestellt. Der Container empfängt die JMS-Nachricht und entfernt die an den Client zu sendende SOAP-Nachricht.

Verwenden Sie diese Vorgehensweise und die zugehörigen Codefragmente, um die WSDL-Erweiterung zu schreiben, mit der Ihr WSIF-Service auf einen SOAP-over-JMS-Service zugreifen kann.

Anmerkung: Sie können diese Prozedur auch als Leitfaden zum Schreiben der WSDL-Bindungserweiterung für SOAP over HTTP verwenden, da die SOAP-over-JMS-Bindung sich nur geringfügig von der SOAP-over-HTTP-Bindung unterscheidet.

Vorgehensweise

Das folgende WSDL-Beispiel definiert eine SOAP-over-JMS-Bindung:

<!-- Beispiel: SOAP-over-JMS-Textnachricht -->

<?xml version="1.0" encoding="UTF-8"?> 
<wsdl:definitions
        	      name="StockQuoteInterfaceDefinitions"
        targetNamespace="urn:StockQuoteInterface"
        xmlns:tns="urn:StockQuoteInterface"
        xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns:jms="http://schemas.xmlsoap.org/wsdl/jms/"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:message name="GetQuoteInput">
        <part name="symbol" type="xsd:string"/>
    </wsdl:message>
    <wsdl:message name="GetQuoteOutput">
        <part name="value" type="xsd:float"/>
    </wsdl:message>

    <wsdl:portType name="StockQuoteInterface">
        <wsdl:operation name="GetQuote">
            <wsdl:input message="tns:GetQuoteInput"/>
            <wsdl:output message="tns:GetQuoteOutput"/>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="StockQuoteSoapJMSBinding" type="tns:StockQuoteInterface">
        <soap:binding style="rpc"
                 transport="http://schemas.xmlsoap.org/soap/jms"/>
        <wsdl:operation name="GetQuote">
            <soap:operation soapAction="urn:StockQuoteInterface#GetQuote"/>
            <wsdl:input>
                <soap:body use="encoded" namespace="urn:StockQuoteService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="encoded" namespace="urn:StockQuoteService"
                     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="StockQuoteService">
        <wsdl:port name="StockQuoteServicePort" 
                      binding="sqi:StockQuoteSoapJMSBinding">
            <jms:address destinationStyle="queue" 
                     jndiConnectionFactoryName="myQCF"
                     jndiDestinationName="myQ"
                     initialContextFactory= "com.ibm.NamingFactory" 
                     jndiProviderURL="iiop://something:900/">

                     <jms:propertyValue name="targetService"
                                        type="xsd:string"
                                        value="StockQuoteServicePort"/>

            </jms:address>

        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twsf_prsjwe
Dateiname:twsf_prsjwe.html