Author |
Message
|
Z |
Posted: Mon Jan 29, 2007 1:12 am Post subject: Header parsing issues in SOAP Based Message Set |
|
|
Newbie
Joined: 29 Jan 2007 Posts: 2
|
Hi,
I have created a Message Set based on a WSDL. The Message Type is off course Envelope at the MQ Input Node. At the beginning of the processing I want to retrieve everything in the SOAP Header into MQRFH2/usr but the MRM XML Parser only parses the Header message 1 level as I can only see MyHeader1 and MyHeader2 but nothing under these elements. E.g.
The message looks something like:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<NS1:MyHeader1 xmlns:NS1="http://www.mydomain1.com/Schema/SOAP">
<NS1:H1Element1>http://tempuri.org</NS1:H1Element1>
<NS1:H1Element2>token</NS1:H1Element2>
<NS1:H1Element3>http://tempuri.org</NS1:H1Element3>
<NS1:H1Element4>token</NS1:H1Element4>
</NS1:MyHeader1>
<NS1:MyHeader2 xmlns:NS1="http://www.mydoamin2.com/Schema/SOAP">
<NS1:H2Element1>token</NS1:H2Element1>
<NS1:H2Element2>token</NS1:H2Element2>
<NS1:H2Element3>token</NS1:H2Element3>
<NS1:H2Element4>
<El234>XXX</El234>
</NS1:H2Element4>
</NS1:MyHeader2>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
Bla bla
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The following works fine :
SET OutputRoot.MQRFH2.usr.Header.MyHeader1.H1Element1 = InputRoot.MRM.SOAP-ENV:Header.NS1:MyHeader1.NS1:H1Element1;
However if I try to do the following I end up with a NULL.
SET OutputRoot.MQRFH2.usr.Header.MyHeader1 = InputRoot.MRM.SOAP-ENV:Header.NS1:MyHeader1;
It seems the MRM XML Parser doesn’t parse the entire tree in the SOAP Header. However it does parse everything in the SOAP Body. Is there a way to force the parser to parse everything in the SOAP Header? Please don’t just tell me to use the XMLNS domain instead.
Help much appreciated
Z |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jan 29, 2007 2:27 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
MQRFH2 is not XML. MQRFH2 doesn't support more than one level, as I recall.
You can ASBITSTREAM the Soap Header and store it there. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Z |
Posted: Mon Jan 29, 2007 2:42 am Post subject: |
|
|
Newbie
Joined: 29 Jan 2007 Posts: 2
|
I believe you'll find that MQRFH2.usr does support more than 1 level of dept. It is only in conjuction with JMS properties (JMS based applications) that 1 level of dept is supported.
I don't think the problem relates the MQRFH2 usr. If I was trying to parse the header into XML based body (which I have tried) the issue still remains the same. I am afraid the ASBITSREAM is not a viable option. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jan 29, 2007 2:52 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Z wrote: |
I believe you'll find that MQRFH2.usr does support more than 1 level of dept. It is only in conjuction with JMS properties (JMS based applications) that 1 level of dept is supported.
|
Really? Where's that documented?  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jan 29, 2007 3:11 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
Vitor |
Posted: Mon Jan 29, 2007 3:29 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
There's always something new to learn; I am enriched!
(And my sig stays relevant!!) _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|