|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Invalid Wire format retreived. |
« View previous topic :: View next topic » |
Author |
Message
|
RichA |
Posted: Fri Mar 15, 2002 3:03 am Post subject: |
|
|
 Centurion
Joined: 14 Mar 2002 Posts: 102
|
Okay, I'm pretty much a complete newbie at this but I've been given this task and we have no training budget so I'm having to figure it all out with pretty much no help whatsoever, bear with me if I seem stupid. I'm trying to use MQSI to take the XML message from an MQ Input node -
<SLOGANS><PROCEDURE>CLIENTN</PROCEDURE><CLIENTNUM>8949</CLIENTNUM></SLOGANS>
Convert it to -
CLIENTN 008949
then put it to an MQ Output node to be picked up by a different MQ Queue, from what I can gather I do this using an MRM Message set, is that right?
I've created two message sets, an input and an output and I've created the flow with a compute node that when I try to debug seems to put the right information into the MRM, but when it actually goes to the output node it throws an exception "Invalid Wire format retrieved", I'm confused.:???:
[ This Message was edited by: RichA on 2002-03-15 03:08 ] |
|
Back to top |
|
 |
jfluitsm |
Posted: Fri Mar 15, 2002 7:43 am Post subject: |
|
|
Disciple
Joined: 24 Feb 2002 Posts: 160 Location: The Netherlands
|
Rich,
If this is V2.1, as MessageFormat you have to specify the Identifier you have given to the Physical Binding.
There is however no need to define 2 messagesets, you probably can handle this with one message and two formats.
Also I encountered a problem with using 2 messagesets for 1 message with 2 formats. I used a source messageset for format=CSV and target messageset for format=CWF, the conversion (with both Compute- and ResetContentDescriptorNode)complained about not finding the parser for source messageset with format=CWF (the target format). I suspect this is a bug in V2.1
_________________ Jan Fluitsma
IBM Certified Solution Designer WebSphere MQ V6
IBM Certified Solution Developer WebSphere Message Broker V6 |
|
Back to top |
|
 |
kirani |
Posted: Fri Mar 15, 2002 9:54 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Rich,
In your case, MRM message will be parsed while writing to the output queue. That is why your are getting exception. Can you print your ExceptionList using Trace node in Catch terminal of MQInput node?
There is another way to do this. You can do this by creating only one Message in MRM. Create two elements
PROCEDURE (TYPE: STRING, LENGTH:7)
CLIENTNUM (Type: Integer)
Creaet a message (m_slogans) with these two elements.
Click on Custom Wire Foramt tab and then change your physical format to "Extended Decimal". Set Length Count to 6.
Check in your message set.
Now in your message flow, in MQInput node, set message domain to XML.
In compute node, use following ESQL,
SET OutputRoot.MRM.PROCEDURE = InputRoot.XML.SLOGANS.PROCEDURE;
SET OutputRoot.MRM.CLIENTNUM = CAST (InputRoot.XML.SLOGANS.CLIENTNUM AS INT);
-- Enter identifier of the message set here
SET OutputRoot.Properties.MessageSet = 'D00....';
SET OutputRoot.Properties.MessageType = 'm_slogans';
SET OutputRoot.Properties.MessageFormat = 'CWF';
Make sure your select 'Copy Message Headers only' in compute node.
Good luck!
Kiran
|
|
Back to top |
|
 |
RichA |
Posted: Mon Mar 18, 2002 7:03 am Post subject: |
|
|
 Centurion
Joined: 14 Mar 2002 Posts: 102
|
Thanks, I've almost got it now, I think the problem was in the output message set, I created 2 message sets, one for input one for output so I could use the check flow facility, I think it might possibly be because I was trying to treat the clientnum as a string and pad it with 0's, I did remove this but it possibly didn't deploy properly. Also I understand the ESQL part and was nearly there with that and I'm wondering about the line -
SET OutputRoot.Properties.MessageFormat = 'CWF';
is that needed or is it a default setting?
I haven't quite got it yet as my MRM now comes out of the calculate node empty, but I'm sure it's a silly mistake I've made somewhere. |
|
Back to top |
|
 |
RichA |
Posted: Mon Mar 18, 2002 7:41 am Post subject: |
|
|
 Centurion
Joined: 14 Mar 2002 Posts: 102
|
D'oh!
When changing the defenition of a variable if you change the element identifier, it's usually a good idea to also change it in the test message aswell as the ESQL, not just in the ESQL.
:razz:
[ This Message was edited by: RichA on 2002-03-18 07:42 ] |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|