0

first of all: I'm quite new to the WSO2 products but I have taken the time to read through some post regarding to my issue.

What product I use: WSO EI 6.1.1

What I want to achive: Establish a JMS-Connection to an TIBCO EMS (MOM), subscribe for a given topic and write the recived message to the filesystem as xml file. The given folder is a mounted netdrive and further applications will look up for new files inside the given folder, this is due to legacy code and I don't want (dont have the time) to change the folder lookup for e.g. a soap calls.

What I've already done: I've read through the latest documentation and found this one: Configure with Tibco EMS

After some try and error I think I've achived to setting up the JMS Listener for the TIBCO EMS. At the beginning I've received a bunch of connection and auth errors which are fixed now, so I think the general connection to the tibco server works.

<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
<parameter name="TopicConnectionFactory" locked="false">
    <parameter locked="false" name="java.naming.factory.initial">com.tibco.tibjms.naming.TibjmsInitialContextFactory</parameter>
    <parameter locked="false" name="java.naming.provider.url">tcp://172.123.123.123:123</parameter>
    <parameter locked="false" name="java.naming.security.principal">user</parameter>
    <parameter locked="false" name="java.naming.security.credentials">pass</parameter>
    <parameter locked="false" name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
    <parameter locked="false" name="transport.jms.JMSSpecVersion">1.0.2b</parameter>
    <parameter locked="false" name="transport.jms.ConnectionFactoryType">topic</parameter>
    <parameter locked="false" name="transport.jms.UserName">user</parameter>
    <parameter locked="false" name="transport.jms.Password">pass</parameter>
    <parameter locked="false" name="transport.jms.CacheLevel">session</parameter>
</parameter>
</transportReceiver>

I think the next step would be to subscribe to the specific topic and write it to the filesystem but I'm kind of stuck here. The other examples in the documentation sadly doesn't help me here, maybe I'm missing the big picture how to continue here because I'm quite new to the esb / ei product.

I simply don't know which functional component is needed (endpoint, proxy, to make use of the configured jms connection and how to write it to the filesystem.

It would be great if someone could push me into the right direction.

kind regards

Community
  • 1
  • 1
Matthias
  • 400
  • 1
  • 4
  • 13

1 Answers1

0

First you need to have a JMS proxy or a inbound endpoint to listen on your queue. Refer [1]. Then you need to use the file processing capabilities of WSO2 ESB (VFS transport). Refer [2] on fileWriteSequence sequence.After receiving a message from the queue, you should invoke this type of a sequence in your proxy service or the inbound endpoint.

[1] - https://docs.wso2.com/display/ESB500/ESB+as+a+JMS+Consumer [2] - https://docs.wso2.com/display/ESB500/Sample+271%3A+File+Processing#Sample271:FileProcessing-CreateandConfigurefileWriteSequence

vinod
  • 151
  • 7