Author |
Message
|
bprasana |
Posted: Fri Oct 01, 2010 5:48 pm Post subject: SOAP Input Node to MQ to Mainframes |
|
|
 Disciple
Joined: 18 Apr 2005 Posts: 179
|
Hi All,
I guess, this one is a classis issue. But I couldnt find a proper resultion to it.
Here is our scenario:
SOAP input node-->COmpute1(where we create XML msg)--> MQ output node--> compute2---> MQGET node
The problem:
Since OutputRoot.properties takes precedence over OutputRoot.MQMD. I am setting OutputRoot - Properties- Message Format = 'MQSTR '.
All other properties get copied from InputRoot.
If I set the encoding and CCSID in Properties folder the message for in MQMD coming out of my flow in getting set SOAPROOT. and that is not getting parsed by channel (connecting AIX to MF) and going to dead letter Q.
If dont set CCSID and encoding in properties but set only the Message format to MQSTR then the MQMD of output msg is coming as blank but its getting parsed by the channel but failing at MF. The logs show that the whole XML is a garbage like this
Quote: |
ÁÊËÑ?> ËÈ/>À/%?>Á >? &/ÊÈ`ñ>Ã?Ê_/ÈÑ?>êÁÉÍÁËÈ (ÁËË/ÅÁ è`øÁ
ÄÍËÈ?_ÁÊëÁ/ÊÄÇêÁÉÍÁËÈ è`øÁ îÁÊËÑ?> îÁÊËÑ?> ë?ÍÊÄÁ â ëë ë?ÍÊÄÁ
àÁËÈÑ>/ÈÑ?> &ñä%ÑÁ>È àÁËÈÑ>/ÈÑ?> íËÁÊñÀ ÃÃÑÄÍËÁÊ íËÁÊñÀ (ÁËË/ÅÁ äÊ
ÑÈÁÊÑ/ äÍËÈ?_ÁÊêÁÉÍÁËÈ ëÁ/ÊÄÇ êÁÈÍÊ>ëøÁÄÑÃÑÄ/ÈÑ?> êÁÈÍÊ> ÅÊÁÁ_Á>ÈË +
êÁÈÍÊ> ÅÊÁÁ_Á>ÈË à/ÈÁê/>ÅÁá>À à/ÈÁê/>ÅÁá>À ë?ÊÈ + ë?ÊÈ (
/ÌÑ_Í_êÁÄ?ÊÀË (/ÌÑ_Í_êÁÄ?ÊÀË ë,Ñøä?Í>È ë,Ñøä?Í>È ï/ÑÈèÑ_Á (Ñ>
ÍÈÁË (Ñ>ÍÈÁË ëÁÄ?>ÀË ëÁÄ?>ÀË ï/ÑÈèÑ_Á +?êÁËø?>ËÁêÁÉÍÑÊÁÀ ì +?
êÁËø?>ËÁêÁÉÍÑÊÁÀ êÁÉÍÁËÈáÄÇ? + êÁÉÍÁËÈáÄÇ? âÍËÑ>ÁËËè`øÁ âë âÍËÑ>ÁËËè
`øÁ êÁÈÍÊ>ëøÁÄÑÃÑÄ/ÈÑ?> +/_Á ñ>ÀÑÎÑÀÍ/% |
When i put a message into the Remote Q def using RFHUTIL and set the MQMD msg format to 'MQSTR ' then the message is getting parsed and i am even getting resposne from mainframe.
Not sure where I am going wrong in this. Can anyone help?
Thanks
bprasana |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Oct 02, 2010 12:59 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Seems like you need to set CCSID on OutputRoot AND set the format on the MQMD to MQFMT_STRING.
OutputRoot.Properties.MessageFormat is not what you think it is.
This is a property for the MRM parser and usually is CWF1 or XML1...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
bprasana |
Posted: Sun Oct 03, 2010 9:39 pm Post subject: Thanks |
|
|
 Disciple
Joined: 18 Apr 2005 Posts: 179
|
@fjb_saper,
I tried that too. But they are not getting set when the message comes out of the flow!
CCSID in Properties or MQMD? |
|
Back to top |
|
 |
ajit1981 |
Posted: Sun Oct 03, 2010 11:09 pm Post subject: |
|
|
Apprentice
Joined: 09 Apr 2010 Posts: 41 Location: Bangalore, Inida
|
try like this hopefully this will work.Previosly we have done like this
Set the OutputRoot.MQMD to MQSTR and changed the property of your sender channel (AIX to MF) Data conversion to YES under the Extended page property. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Oct 04, 2010 2:14 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
ajit1981 wrote: |
try like this hopefully this will work.Previosly we have done like this
Set the OutputRoot.MQMD to MQSTR and changed the property of your sender channel (AIX to MF) Data conversion to YES under the Extended page property. |
Don't set the data conversion on the channel.
Set the CCSID of the mainframe (or the one the MF is expecting) in OutputRoot.Properties.CodedCharSetId...
I expect that would be 37 or 500 (international).
Set the format like (from memory)
Code: |
SET OutputRoot.MQMD.Format = MQFMT_STRING; |
What parser are you using in the Compute Node for the OutputRoot?
XMLNS or XMLNSC right? If the expected output is UTF-8 you should really have this line of code at the end somewhere:
Code: |
SET OutputRoot.Properties.CodedCharSetId = 1208; |
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|