on 06-13-2008 10:02 PM
Hi,
I am doing interface which send JMS messages to IDOC. JMS is sending three different messages (three XSD's) and I have created three separate interfaces as a below.
A) Negative.xsd ; to IDOC1
B) Positive.xsd ; to IDOC2
C)Multiple.xsd ; to IDOC3
When I get the Negative.xsd from JMS for the first time, Interface u2018Au2019 is executing and itu2019s creating IDOC1 successfully. When I get the Negative.xsd for the second time then the Interface u2018Bu2019 is executing (Instead of Interface u2018Au2019) and itu2019s trying to send Negative.xsd into IDOC2 and itu2019s getting fail.
When we are getting all the three XSDu2019s at the same time then first interface u2018Au2019 is getting picked up and failed for the second (u2018Bu2019) and third (u2018Cu2019) interfaces and for first one is successful.
Can you please guide me to pick the right interface?
Regards,
Kishore
Hi, Kishore:
In your situation, you need to configure Message Selector for your JMS sender adapter:
1. First you have to work with your JMS Queue system consultant, create a Property name, Saying "MsgType", its value is used to identify type of the message. e.g. the message of Positive Type put into the queue, its Property value "MsgType" can be set to "Positive"
2. In your JMS Communication Channel, Parameter Tab -> Advanced Tab, you need to Check " Adapter Specific Message Attribute"
3. Then Check "Specify Additional JMS Message Properties
Click "+" to add your property name, it should match the property name mentioned in step 1. e.g. "MsgType"
4. In "Process" tab, you specify message Selector:
e.g. MsgType = Positive"
After you have done above step, this JMS adapter only pick message of the Property value "MsgType" equals to "Postive"
You can create additonal JMS commnunication channels that polling from same queue, but only for different type of message: e.g. "Negative"
Regards !
Liang
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For the JMS sender communication have you use single queue in all three communication channel.
If yes then that is your main problem. Keep the diff. queue name in all comm. channel.
Gaurav Jain
Points if answer is helpful
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
80 | |
9 | |
9 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.