- Open the deployment.toml file present at on repository/component/conf directory and add the following JMSSender configurations.
If you use 127.0.0.1 host for the Tibco server, the APIM server should need to start at the same host.
[[transport.jms.sender]]
name = “QueueConnectionFactoryAPIM”
parameter.initial_naming_factory =
"com.tibco.tibjms.naming.TibjmsInitialContextFactory"
parameter.provider_url = "tcp://127.0.0.1:7222"
parameter.connection_factory_name = "QueueConnectionFactoryAPIM"
parameter.connection_factory_type = "queue"
parameter.jms_spec_version = "1.0.2b"
parameter.username = "admin"
parameter.password = ""
parameter.destination_type = "queue"
parameter.default_reply_destination = "queue"
- Placed the following jars (jms lib for Tibco ) on <APIM_HOME>/repository/components/extensions directory of the APIM server ( jms-2.0.jar, tibjms.jar, tibjmsadmin.jar, tibjmsapps.jar,tibrvjms.jar)
- Start the server
Once you open the axis2.xml file residing on <APIM_HOME>/repository/components/conf/axis2/ directory; you can see the following JMSSende configurations.
<transportSender class=”org.apache.axis2.transport.jms.JMSSender” name=”jms”>
<parameter locked=”false” name=”QueueConnectionFactoryAPIM”>
<parameter locked=”false” name=”java.naming.factory.initial”>com.tibco.tibjms.naming.TibjmsInitialContextFactory</parameter>
<parameter locked=”false”
name=”java.naming.provider.url”>tcp://127.0.0.1:7222</parameter>
<parameter locked=”false”
name=”transport.jms.UserName”>admin</parameter>
<parameter locked=”false” name=”transport.jms.Password”></parameter>
<parameter locked=”false”
name=”transport.jms.ConnectionFactoryJNDIName”>QueueConnectionFactoryAPIM</parameter>
<parameter locked=”false”
name=”transport.jms.ConnectionFactoryType”>queue</parameter>
<parameter locked=”false”
name=”transport.jms.DefaultReplyDestinationType”>queue</parameter>
<parameter locked=”false”
name=”transport.jms.JMSSpecVersion”>1.0.2b</parameter>
<parameter name=”transport.jms.MaxJMSConnections”>5</parameter>
</parameter>
</transportSender>
- Create an API with the following endpoint (add the wild card resource path to a POST resource)
For dual-channel temporary queue scenario, the endpoint would be like,
jms:/Request?transport.jms.ConnectionFactory=QueueConnectionFactoryAPIM&transport.jms.ContentTypeProperty=Content_Type&transport.jms.DestinationType=queue&transport.jms.Destination=Req
For the dual-channel scenario with the predefined queues as request and response, the endpoint would be like,
jms:/Request?transport.jms.ConnectionFactory=QueueConnectionFactoryAPIM&transport.jms.ContentTypeProperty=Content_Type&transport.jms.DestinationType=queue&transport.jms.Destination=Request&transport.jms.ReplyDestination=Response
- Publish the API.
Ref: https://medium.com/@hiranyakavi/configure-tibco-ems-jms-transport-scenario-with-wso2-api-manager-3-x-d4c5e0cb774b
If you use 127.0.0.1 host for the Tibco server, the APIM server should need to start at the same host.
[[transport.jms.sender]]
name = “QueueConnectionFactoryAPIM”
parameter.initial_naming_factory =
"com.tibco.tibjms.naming.TibjmsInitialContextFactory"
parameter.provider_url = "tcp://127.0.0.1:7222"
parameter.connection_factory_name = "QueueConnectionFactoryAPIM"
parameter.connection_factory_type = "queue"
parameter.jms_spec_version = "1.0.2b"
parameter.username = "admin"
parameter.password = ""
parameter.destination_type = "queue"
parameter.default_reply_destination = "queue"
Once you open the axis2.xml file residing on <APIM_HOME>/repository/components/conf/axis2/ directory; you can see the following JMSSende configurations.
<transportSender class=”org.apache.axis2.transport.jms.JMSSender” name=”jms”>
<parameter locked=”false” name=”QueueConnectionFactoryAPIM”>
<parameter locked=”false” name=”java.naming.factory.initial”>com.tibco.tibjms.naming.TibjmsInitialContextFactory</parameter>
<parameter locked=”false”
name=”java.naming.provider.url”>tcp://127.0.0.1:7222</parameter>
<parameter locked=”false”
name=”transport.jms.UserName”>admin</parameter>
<parameter locked=”false” name=”transport.jms.Password”></parameter>
<parameter locked=”false”
name=”transport.jms.ConnectionFactoryJNDIName”>QueueConnectionFactoryAPIM</parameter>
<parameter locked=”false”
name=”transport.jms.ConnectionFactoryType”>queue</parameter>
<parameter locked=”false”
name=”transport.jms.DefaultReplyDestinationType”>queue</parameter>
<parameter locked=”false”
name=”transport.jms.JMSSpecVersion”>1.0.2b</parameter>
<parameter name=”transport.jms.MaxJMSConnections”>5</parameter>
</parameter>
</transportSender>
For dual-channel temporary queue scenario, the endpoint would be like,
jms:/Request?transport.jms.ConnectionFactory=QueueConnectionFactoryAPIM&transport.jms.ContentTypeProperty=Content_Type&transport.jms.DestinationType=queue&transport.jms.Destination=Req
For the dual-channel scenario with the predefined queues as request and response, the endpoint would be like,
jms:/Request?transport.jms.ConnectionFactory=QueueConnectionFactoryAPIM&transport.jms.ContentTypeProperty=Content_Type&transport.jms.DestinationType=queue&transport.jms.Destination=Request&transport.jms.ReplyDestination=Response
No comments:
Post a Comment