Escritura de la extensión WSDL que permite al servicio WSIF acceder a un servicio SOAP a través de JMS

Puede escribir una extensión WSDL (Web Services Description Language) que permite que el servicio Web Services Invocation Framework (WSIF) acceda a un servicio SOAP que utiliza Java™ Message Service (JMS) como su mecanismo de transporte.

Antes de empezar

En este tema se presupone que ha elegido y configurado un proveedor JMS al instalar WebSphere Application Server (ya sea el proveedor de mensajería predeterminado u otro proveedor como el proveedor de mensajería de WebSphere MQ). Si no es así, hágalo como se describe en Elección de un proveedor de mensajería.

Acerca de esta tarea

Si un mensaje SOAP contiene sólo XML, puede utilizar el mecanismo de transporte JMS (Java Message Service) con el tipo de cuerpo de mensaje JMS TextMessage. El mensaje SOAP, junto con el sobre de SOAP, se incluye en el mensaje JMS y se coloca en la cola adecuada. El contenedor recibe el mensaje de JMS y elimina el mensaje SOAP destinado al cliente.

Utilice el procedimiento siguiente y los fragmentos de código asociados que le ayudarán a escribir la extensión WSDL (Web Services Description Language) que permite al servicio WSIF acceder a un servicio SOAP a través de JMS.

Nota: También puede utilizar este procedimiento como guía para escribir la extensión de enlace WSDL para SOAP a través de HTTP, porque el enlace SOAP a través de JMS es casi idéntico al enlace SOAP a través de HTTP.

Procedimiento

Ejemplo de WSDL que define un enlace SOAP a través de JMS

<!-- Ejemplo: Mensaje de texto de SOAP a través de JMS -->

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

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twsf_prsjwe
File name: twsf_prsjwe.html