Author |
Message
|
JohnSmith |
Posted: Sun May 02, 2010 11:34 pm Post subject: Questions on JMSOutput Node |
|
|
Voyager
Joined: 17 Mar 2010 Posts: 86
|
Hi All,
I am receiving a message from an HTTP call in message broker, now I have to send that message to a JMS destination queue(websphere MQ JMS provider), I am using the JMSOutputNode regarding the same.
My input message to the JMSOutputNode Input terminal consists of 3 trees -
1. Properties
2. HTTPInputHeader
3. XMLNSC
Scenario 1
And now when it goes to JMSOutputNode where I have specified a destination as "Queue" it goes sucessfully to that queue but i can not see any JMS header present at the begining of that message.
Scenario 2
Whease when another message is coming as part of MQInput node with MQJMSTransform node in between, the output message send by JMSOutput node is having headers at the beginning of the message. If you see below it is Scenario2 message output from JMSOutput node.
Quote: |
<Transport_Folders>
<Message_MetaData>
<PayloadType>jms_text</PayloadType>
<MessagePersistence>1</MessagePersistence>
</Message_MetaData>
<Header_Values>
<JMSDestination> </JMSDestination>
<JMSDeliveryMode dt="i4">1</JMSDeliveryMode>
<JMSExpiration dt="r8">0</JMSExpiration>
<JMSPriority dt="i4">0</JMSPriority>
<JMSTimestamp dt="r8">1272803103859</JMSTimestamp>
<JMSMessageID> </JMSMessageID>
<JMSCorrelationID>000000000000000000000000000000000000000000000000</JMSCorrelationID>
<JMSReplyTo> </JMSReplyTo>
<JMSType>mcd://XMLNSC/sample_mset/{}:PMNT?format=XML1</JMSType>
<JMSRedelivered dt="boolean">FALSE</JMSRedelivered>
</Header_Values>
</Transport_Folders>
XMLNSC .... |
Message from JMSOutput Node.(scenario 2)
whereas (scenario 1) only gives me
XMLNSC ..
Do I need to add the above mentioned headers manually using compute node in case of first scenario??
Please advise.
Waiting for your urgent reply.
thanks in advance. |
|
Back to top |
|
 |
JohnSmith |
Posted: Mon May 03, 2010 7:26 am Post subject: |
|
|
Voyager
Joined: 17 Mar 2010 Posts: 86
|
another question...
how do we implement a request reply scenario using JMS nodes. (JMSInputNode and JMSOutputNode). I understand that using JMSOutputNode we can send a request. But, do we need to use JMSINputNode to get the reply back? Is there no such thing as in MQ using MQGET node where you can specify the waiting time and the correlation ID to pick up the correct message. (JMSOutputNode "Reply message" didn't work)
As JMSInputNode can not be inserted in between flows, it doesnt have IN terminal so I need to create another flow but then how we will set the relations between Request and Reply message. What about error handling scenario as in our case the Destination application is putting the message into another(error Queue) if it can not meet tvalidate request message. How do we monitor the error queue so that if requst fails then we atleast get the error message?
Please suggest if anyone have any solution. |
|
Back to top |
|
 |
zpat |
Posted: Mon May 03, 2010 7:57 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
The MQGET node can have wait time and any MQMD parameter set either in node properties or in prior ESQL (there is an example in the info centre).
The MQGET node will, of course, use the same bindings (not client) connection to MQ as the rest of the broker. |
|
Back to top |
|
 |
mqjeff |
Posted: Mon May 03, 2010 9:10 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
There is no JMSGet node.
If you need to combine the result from multiple input nodes, you need to use either aggregation or collection. |
|
Back to top |
|
 |
JohnSmith |
Posted: Mon May 03, 2010 4:39 pm Post subject: |
|
|
Voyager
Joined: 17 Mar 2010 Posts: 86
|
zpat wrote:
Quote: |
The MQGET node can have wait time and any MQMD parameter set either in node properties or in prior ESQL (there is an example in the info centre).
The MQGET node will, of course, use the same bindings (not client) connection to MQ as the rest of the broker |
Zpat, yes there is an MQGET node but that would be applicable in case of MQ communication, what about those cases where we use JMS nodes? How to get the reply message belonging to request message. |
|
Back to top |
|
 |
smdavies99 |
Posted: Mon May 03, 2010 9:57 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Are you using WMQ as the JMS Transport?
Do your JMS Queues map to WMQ ones?
Then surely MQGet Node can read a JMS Message. If you are using WMQ as the JMS Transport then underneath, there is a WMQ Message.
Just be prepared to read $ Process the MQRFH2 Header to get the full 'JMSness' of the message.
Obviously this breaks the JMS portability but IMHO there (unless you write your own code) is on the surface no other way to get what you want. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
zpat |
Posted: Tue May 04, 2010 12:12 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
I would suggest solving your internal issues about defining a sender/receiver channel, and then implementing a conventional WMB design, rather than attempting to use JMS APIs to overcome this.
The support complexty alone would not be worth the hassle. |
|
Back to top |
|
 |
|