How to expose the same service interface over HTTP and JMS endpoints in TIBCO BusinessWorks.

How to expose the same service interface over HTTP and JMS endpoints in TIBCO BusinessWorks.

book

Article ID: KB0093764

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Description:
There may be a requirement where a service needs both HTTP and JMS binding to expose the same service on JMS for some clients, and on HTTP for other clients.

Resolution

This can be done by adding two endpoint bindings while configuring the service. On one end point we can bind with JMS transport and on other end point we can add the HTTP transport. In the resultant WSDL, we would have two binding corresponding to JMS and HTTP respectively.

<wsdl:binding name="ConCatenatePortTypeEndpoint1Binding" type="tns:ConCatenatePortType">
        <soap:binding style="rpc" transport="http://www.tibco.com/namespaces/ws/2004/soap/binding/JMS"/>
        <jms:binding messageFormat="bytes"/>
        <wsdl:operation name="ConcatOperation">
            <soap:operation style="rpc" soapAction="/server/abstractWsdl-service0.serviceagent/ConCatenatePortTypeEndpoint1/ConcatOperation"/>
            <wsdl:input>
                <soap:body use="literal" parts="part1 part2"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="part1"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="ConCatenatePortTypeEndpoint0Binding" type="tns:ConCatenatePortType">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="ConcatOperation">
            <soap:operation style="rpc" soapAction="/server/abstractWsdl-service0.serviceagent/ConCatenatePortTypeEndpoint0/ConcatOperation"/>
            <wsdl:input>
                <soap:body use="literal" parts="part1 part2"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="part1"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>


Issue/Introduction

How to expose the same service interface over HTTP and JMS endpoints in TIBCO BusinessWorks.

Additional Information

Review the attached project (Filename: MultiBindings.7z).

Attachments

How to expose the same service interface over HTTP and JMS endpoints in TIBCO BusinessWorks. get_app