ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Unable to CAST from InputRoot.BLOB.BLOB?

Post new topic  Reply to topic
 Unable to CAST from InputRoot.BLOB.BLOB? « View previous topic :: View next topic » 
Author Message
simon.starkie
PostPosted: Sat Sep 29, 2012 1:21 pm    Post subject: Unable to CAST from InputRoot.BLOB.BLOB? Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

Received the following error:
Failed to navigate to path element number '2' because it does not exist.

Here's my code:
Code:
      DECLARE HTTPResp CHARACTER
         CAST(InputRoot.BLOB.BLOB AS CHARACTER
            CCSID InputRoot.Properties.CodedCharSetId);


Here's the trace:
2012-09-29 14:12:46.219970 6175 UserTrace BIP2539I: Node 'TF_NW_EPIC_VCC_ORIM.Transform_Response': Evaluating express
ion ''InputRoot.HTTPResponseHeader.X-Original-HTTP-Status-Code'' at ('.TF_NW_EPIC_VCC_ORIM_Transform_Response.Main', '8.6').
This resolved to ''InputRoot.HTTPResponseHeader.X-Original-HTTP-Status-Code''. The result was ''200''.
2012-09-29 14:12:46.219993 6175 UserTrace BIP2539I: Node 'TF_NW_EPIC_VCC_ORIM.Transform_Response': Evaluating express
ion ''InputRoot.HTTPResponseHeader.X-Original-HTTP-Status-Code > 299'' at ('.TF_NW_EPIC_VCC_ORIM_Transform_Response.Main', '8
.65'). This resolved to ''200 > 299''. The result was ''FALSE''.
2012-09-29 14:12:46.220008 6175 UserTrace BIP2537I: Node 'TF_NW_EPIC_VCC_ORIM.Transform_Response': Executing statemen
t ''IF InputRoot.HTTPResponseHeader.X-Backside-Transport = 'FAIL FAIL,FAIL FAIL' THEN... END IF;'' at ('.TF_NW_EPIC_VCC_ORI
M_Transform_Response.Main', '15.3').
2012-09-29 14:12:46.220035 6175 UserTrace BIP2539I: Node 'TF_NW_EPIC_VCC_ORIM.Transform_Response': Evaluating express
ion ''InputRoot.HTTPResponseHeader.X-Backside-Transport'' at ('.TF_NW_EPIC_VCC_ORIM_Transform_Response.Main', '15.6'). This r
esolved to ''InputRoot.HTTPResponseHeader.X-Backside-Transport''. The result was ''ROW... Root Element Type=50331648 NameSpac
e='' Name='X-Backside-Transport' Value='OK OK,OK OK'''.
2012-09-29 14:12:46.220077 6175 UserTrace BIP2539I: Node 'TF_NW_EPIC_VCC_ORIM.Transform_Response': Evaluating express
ion ''InputRoot.HTTPResponseHeader.X-Backside-Transport = 'FAIL FAIL,FAIL FAIL''' at ('.TF_NW_EPIC_VCC_ORIM_Transform_Respons
e.Main', '15.58'). This resolved to ''ROW... Root Element Type=50331648 NameSpace='' Name='X-Backside-Transport' Value='OK OK
,OK OK' = 'FAIL FAIL,FAIL FAIL'''. The result was ''FALSE''.
2012-09-29 14:12:46.220104 6175 UserTrace BIP2537I: Node 'TF_NW_EPIC_VCC_ORIM.Transform_Response': Executing statemen
t ''DECLARE HTTPResp CHARACTER CAST(InputRoot.BLOB.BLOB AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);'' at ('.TF
_NW_EPIC_VCC_ORIM_Transform_Response.Main', '28.3').
2012-09-29 14:12:46.220123 6175 UserTrace BIP2543I: Node 'TF_NW_EPIC_VCC_ORIM.Transform_Response': ('.TF_NW_EPIC_VCC_
ORIM_Transform_Response.Main', '29.9') : Failed to navigate to path element number '2' because it does not exist.
2012-09-29 14:12:46.220142 6175 UserTrace BIP2539I: Node 'TF_NW_EPIC_VCC_ORIM.Transform_Response': Evaluating express
ion ''InputRoot.BLOB.BLOB'' at ('.TF_NW_EPIC_VCC_ORIM_Transform_Response.Main', '29.9'). This resolved to ''InputRoot.BLOB.BL
OB''. The result was ''NULL''.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Sat Sep 29, 2012 10:11 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

I'd guess you have InputRoot.XMLNSC instead of InputRoot.BLOB.BLOB.
Back to top
View user's profile Send private message
simon.starkie
PostPosted: Sun Sep 30, 2012 1:32 am    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

mqjeff wrote:
I'd guess you have InputRoot.XMLNSC instead of InputRoot.BLOB.BLOB.


Thanks Jeff, appreciate the suggestion.
I was under the impressions that InputRoot.BLOB.BLOB would grab anything?

Anyway, I changed my code to
Code:

      DECLARE HTTPResp CHARACTER
               CAST(InputRoot.XMLNS AS CHARACTER
                    CCSID InputRoot.Properties.CodedCharSetId);


But now the user trace looks odd with a bunch of white spaces?:
2012-09-30 01:59:19.203184 5918 UserTrace BIP2537I: Node 'TF_NW_EPIC_VCC_ORIM.SOAP_Response': Executing statement ''DECLARE HTTPResp CHARACTER CAST(InputRoot.XMLNS AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);'' at ('.TF_NW_EPIC_VCC_ORIM_SOAP_Response.Main', '6.3').
2012-09-30 01:59:19.203227 5918 UserTrace BIP2539I: Node 'TF_NW_EPIC_VCC_ORIM.SOAP_Response': Evaluating expression ''InputRoot.XMLNS'' at ('.TF_NW_EPIC_VCC_ORIM_SOAP_Response.Main', '7.15'). This resolved to ''InputRoot.XMLNS''. The result was '''
'''.


Here is the Root trace:
(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2012-09-30 08:55:07.864557'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'application/soap+xml'
)
(0x01000000):HTTPRequestHeader = (
(0x03000000):Content-Length = '1898'
(0x03000000):Content-Type = 'text/xml; charset=utf-8'
(0x03000000):Host = 'service-bus-dev.kp.org'
(0x03000000):SOAPAction = '""'
(0x03000000):Connection = 'keep-alive'
)
(0x01000000):HTTPResponseHeader = (
(0x03000000):X-Original-HTTP-Status-Line = 'HTTP/1.1 200 OK'
(0x03000000):X-Original-HTTP-Status-Code = 200
(0x03000000):X-Backside-Transport = 'OK OK,OK OK'
(0x03000000):Connection = 'Keep-Alive'
(0x03000000):Transfer-Encoding = 'chunked'
(0x03000000):Date = 'Sun, 30 Sep 2012 08:57:38 GMT'
(0x03000000):Server = 'Oracle GlassFish Server 3.0.1'
(0x03000000):X-Powered-By = 'Servlet/3.0'
(0x03000000):Content-Type = 'application/soap+xml'
(0x03000000):X-Client-IP = '127.0.0.1,172.20.54.10'
(0x03000000):X-Archived-Client-IP = '127.0.0.1'
)
(0x01000010):XMLNS = (
(0x05000018):XML = (
(0x06000011): = '1.0'
(0x06000012): = 'UTF-8'
)
(0x06000002): = '
'
(0x01000000)http://www.w3.org/2003/05/soap-envelope:Envelope = (
(0x07000012)xmlns:S = 'http://www.w3.org/2003/05/soap-envelope'
(0x07000012)xmlns:wsse = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'
(0x07000012)xmlns:wsu = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'
(0x07000012)xmlns:xs = 'http://www.w3.org/2001/XMLSchema'
(0x01000000)http://www.w3.org/2003/05/soap-envelope:Header = (
(0x01000000)http://www.w3.org/2005/08/addressing:To = (
(0x07000012):xmlns = 'http://www.w3.org/2005/08/addressing'
(0x02000000): = 'http://www.w3.org/2005/08/addressing/anonymous'
)
(0x01000000)http://www.w3.org/2005/08/addressing:Action = (
(0x07000012):xmlns = 'http://www.w3.org/2005/08/addressing'
(0x02000000): = 'http://vaccination.org/IVaccinationService/UpdateHistoryResponse'
)
(0x01000000)http://www.w3.org/2005/08/addressing:MessageID = (
(0x07000012):xmlns = 'http://www.w3.org/2005/08/addressing'
(0x02000000): = 'uuid:d1a87010-aea2-492b-86c7-11feb2c8e738'
)
(0x01000000)http://www.w3.org/2005/08/addressing:RelatesTo = (
(0x07000012):xmlns = 'http://www.w3.org/2005/08/addressing'
(0x02000000): = 'uuid:a6235296-0adc-11e2-adf1-ac15dc6b0000'
)
(0x01000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:Security = (
(0x03000000)http://www.w3.org/2003/05/soap-envelope:mustUnderstand = 'true'
(0x01000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Timestamp = (
(0x03000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Id = '_1'
(0x07000012)xmlns:ns15 = 'http://schemas.xmlsoap.org/ws/2006/02/addressingidentity'
(0x07000012)xmlns:ns14 = 'http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512'
(0x07000012)xmlns:ns13 = 'http://schemas.xmlsoap.org/soap/envelope/'
(0x01000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Created = (
(0x02000000): = '2012-09-30T08:57:39Z'
)
(0x01000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Expires = (
(0x02000000): = '2012-09-30T09:02:39Z'
)
)
)
)
(0x01000000)http://www.w3.org/2003/05/soap-envelope:Body = (
(0x01000000)http://vaccination.org/:UpdateHistoryResponse = (
(0x07000012)xmlns:ns2 = 'http://vaccination.org/'
(0x01000000):return = (
(0x02000000): = 'FHS|^~\&|ALERT IIS2.10.0|ALERT IIS||AL0502|20120930015739.008||173358.response
BHS|^~\&|ALERT IIS2.10.0|ALERT IIS||AL0502|20120930015739.008
MSH|^~\&|ALERT IIS2.10.0|ALERT IIS||AL1655|20120930015739.009||ACK|14|P|2.4
MSA|AA|14|Body Site Code - Inaccurate or missing data. No value stored.
ERR|RXR^1^2
MSA|AA|14|Responsible Party First Name - Inaccurate or missing data. No value stored.
ERR|NK1^1^2
MSA|AA|14|Informational Error - If supplied, MSH 5 must match constraint listed in spec.
ERR|MSH^1
MSA|AA|14|Informational Error - If supplied, MSH 6 must match constraint listed in spec.
ERR|MSH^1
BTS|1
FTS|1
'
)
)
)
)
)
)
(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2012-09-30 08:58:45.453333'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'application/soap+xml'
)
(0x01000000):HTTPRequestHeader = (
(0x03000000):Content-Length = '1898'
(0x03000000):Content-Type = 'text/xml; charset=utf-8'
(0x03000000):Host = 'service-bus-dev.kp.org'
(0x03000000):SOAPAction = '""'
(0x03000000):Connection = 'keep-alive'
)
(0x01000000):HTTPResponseHeader = (
(0x03000000):X-Original-HTTP-Status-Line = 'HTTP/1.1 200 OK'
(0x03000000):X-Original-HTTP-Status-Code = 200
(0x03000000):X-Backside-Transport = 'OK OK,OK OK'
(0x03000000):Connection = 'Keep-Alive'
(0x03000000):Transfer-Encoding = 'chunked'
(0x03000000):Date = 'Sun, 30 Sep 2012 09:00:58 GMT'
(0x03000000):Server = 'Oracle GlassFish Server 3.0.1'
(0x03000000):X-Powered-By = 'Servlet/3.0'
(0x03000000):Content-Type = 'application/soap+xml'
(0x03000000):X-Client-IP = '127.0.0.1,172.20.54.10'
(0x03000000):X-Archived-Client-IP = '127.0.0.1'
)
(0x01000010):XMLNS = (
(0x05000018):XML = (
(0x06000011): = '1.0'
(0x06000012): = 'UTF-8'
)
(0x06000002): = '
'
(0x01000000)http://www.w3.org/2003/05/soap-envelope:Envelope = (
(0x07000012)xmlns:S = 'http://www.w3.org/2003/05/soap-envelope'
(0x07000012)xmlns:wsse = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'
(0x07000012)xmlns:wsu = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'
(0x07000012)xmlns:xs = 'http://www.w3.org/2001/XMLSchema'
(0x01000000)http://www.w3.org/2003/05/soap-envelope:Header = (
(0x01000000)http://www.w3.org/2005/08/addressing:To = (
(0x07000012):xmlns = 'http://www.w3.org/2005/08/addressing'
(0x02000000): = 'http://www.w3.org/2005/08/addressing/anonymous'
)
(0x01000000)http://www.w3.org/2005/08/addressing:Action = (
(0x07000012):xmlns = 'http://www.w3.org/2005/08/addressing'
(0x02000000): = 'http://vaccination.org/IVaccinationService/UpdateHistoryResponse'
)
(0x01000000)http://www.w3.org/2005/08/addressing:MessageID = (
(0x07000012):xmlns = 'http://www.w3.org/2005/08/addressing'
(0x02000000): = 'uuid:4fcb3be1-4584-4bdf-9ec2-ad1bb938e1f7'
)
(0x01000000)http://www.w3.org/2005/08/addressing:RelatesTo = (
(0x07000012):xmlns = 'http://www.w3.org/2005/08/addressing'
(0x02000000): = 'uuid:1d76e790-0add-11e2-adf1-ac15dc6b0000'
)
(0x01000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:Security = (
(0x03000000)http://www.w3.org/2003/05/soap-envelope:mustUnderstand = 'true'
(0x01000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Timestamp = (
(0x03000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Id = '_1'
(0x07000012)xmlns:ns15 = 'http://schemas.xmlsoap.org/ws/2006/02/addressingidentity'
(0x07000012)xmlns:ns14 = 'http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512'
(0x07000012)xmlns:ns13 = 'http://schemas.xmlsoap.org/soap/envelope/'
(0x01000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Created = (
(0x02000000): = '2012-09-30T09:00:58Z'
)
(0x01000000)http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Expires = (
(0x02000000): = '2012-09-30T09:05:58Z'
)
)
)
)
(0x01000000)http://www.w3.org/2003/05/soap-envelope:Body = (
(0x01000000)http://vaccination.org/:UpdateHistoryResponse = (
(0x07000012)xmlns:ns2 = 'http://vaccination.org/'
(0x01000000):return = (
(0x02000000): = 'FHS|^~\&|ALERT IIS2.10.0|ALERT IIS||AL0502|20120930020058.972||173359.response
BHS|^~\&|ALERT IIS2.10.0|ALERT IIS||AL0502|20120930020058.972
MSH|^~\&|ALERT IIS2.10.0|ALERT IIS||AL1655|20120930020058.973||ACK|14|P|2.4
MSA|AA|14|Body Site Code - Inaccurate or missing data. No value stored.
ERR|RXR^1^2
MSA|AA|14|Responsible Party First Name - Inaccurate or missing data. No value stored.
ERR|NK1^1^2
MSA|AA|14|Informational Error - If supplied, MSH 5 must match constraint listed in spec.
ERR|MSH^1
MSA|AA|14|Informational Error - If supplied, MSH 6 must match constraint listed in spec.
ERR|MSH^1
BTS|1
FTS|1
'
)
)
)
)
)
)

My objective is to get the UpdateHistoryResponse.return and test the MSA HL7 segment for values other than "AA" (the above trace shows "AA" which is a successful response from the web service).

Thanks.
Back to top
View user's profile Send private message
simon.starkie
PostPosted: Sun Sep 30, 2012 8:33 am    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

My problem was solved by adding an RCD to set the message domain to BLOB.

We use a custom framework that includes a subflow for calling web services. It's nice because it takes care of all the logging requirements that we have. But the subflow always uses RCD to reset the domain to XMLNS. Not a brilliant idea, but it is what it is and it's our standard. So I had no choice but to code around the problem with another RCD in my flow to set the message domain to BLOB. Too many RCD's for my liking!

Thanks.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Sun Sep 30, 2012 11:29 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

You must hunt down and destroy every part of your message flow development and every message flow developer that uses the XMLNS domain.

You must replace all uses of XMLNS with the proper and correct XMLNSC parser.

It can be complicated to ensure that you treat XML-based data as BLOB data, particularly if you are using SOAP or HTTP nodes. Broker tries very hard to use contextual information, including HTTP content headers, to identify that data is parseable by anything else. If you have not taken steps to ensure that your HTTP or SOAP nodes are forcing a parse by the BLOB domain, then, yes, you do need an ASBITSTREAM or RCD to force data into the BLOB domain if it's already been tagged as XML data.

But again.

STOP USING THE XMLNS DOMAIN.

You will reap immediate and valuable performance benefits at no cost.

You will also find that the XMLNSC domain ignores unneeded whitespace.
Back to top
View user's profile Send private message
simon.starkie
PostPosted: Sun Sep 30, 2012 12:07 pm    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

No argument from me about that. I've been strongly advocating XMLNSC instead of XMLNS for many years now. In fact, I started using XMLNSC and have always used XMLNSC in my code. Anyway, thanks again for your earlier suggestion which set me on the path to a successful conclusion. Cheers!
Back to top
View user's profile Send private message
rekarm01
PostPosted: Sun Sep 30, 2012 2:50 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

simon.starkie wrote:
Here is the Root trace:
Code:
(
  (0x01000010):XMLNS              = (
    (0x01000000)http://www.w3.org/2003/05/soap-envelope:Envelope = (
      (0x07000012)xmlns:S                                        = 'http://www.w3.org/2003/05/soap-envelope'
      (0x01000000)http://www.w3.org/2003/05/soap-envelope:Body   = (
        (0x01000000)http://vaccination.org/:UpdateHistoryResponse = (
          (0x07000012)xmlns:ns2 = 'http://vaccination.org/'
          (0x01000000):return   = (
            (0x02000000): = 'FHS|^~\&|ALERT IIS2.10.0|ALERT IIS||AL0502|20120930015739.008||173358.response
BHS|^~\&|ALERT IIS2.10.0|ALERT IIS||AL0502|20120930015739.008
MSH|^~\&|ALERT IIS2.10.0|ALERT IIS||AL1655|20120930015739.009||ACK|14|P|2.4
MSA|AA|14|Body Site Code - Inaccurate or missing data. No value stored.
ERR|RXR^1^2
MSA|AA|14|Responsible Party First Name - Inaccurate or missing data. No value stored.
ERR|NK1^1^2
MSA|AA|14|Informational Error - If supplied, MSH 5 must match constraint listed in spec.
ERR|MSH^1
MSA|AA|14|Informational Error - If supplied, MSH 6 must match constraint listed in spec.
ERR|MSH^1
BTS|1
FTS|1
'
...

If the objective is to search just the UpdateHistoryResponse.return element for MSA segments, rather than searching the entire SOAP message for them, then wouldn't it be easier to just access the element directly?
Code:
DECLARE HTTPResp CHARACTER InputRoot.XMLNS.S:Envelope.S:Body.ns2:UpdateHistoryResponse.return;

No CAST or RCD required.

mqjeff wrote:
You must hunt down and destroy every part of your message flow development and every message flow developer that uses the XMLNS domain.

Replacing XMLNS with XLMNSC is a good idea.
Hunting down and destroying developers is optional.
Back to top
View user's profile Send private message
simon.starkie
PostPosted: Sun Sep 30, 2012 7:41 pm    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

rekarm01 wrote:
simon.starkie wrote:
Here is the Root trace:
Code:
(
  (0x01000010):XMLNS              = (
    (0x01000000)http://www.w3.org/2003/05/soap-envelope:Envelope = (
      (0x07000012)xmlns:S                                        = 'http://www.w3.org/2003/05/soap-envelope'
      (0x01000000)http://www.w3.org/2003/05/soap-envelope:Body   = (
        (0x01000000)http://vaccination.org/:UpdateHistoryResponse = (
          (0x07000012)xmlns:ns2 = 'http://vaccination.org/'
          (0x01000000):return   = (
            (0x02000000): = 'FHS|^~\&|ALERT IIS2.10.0|ALERT IIS||AL0502|20120930015739.008||173358.response
BHS|^~\&|ALERT IIS2.10.0|ALERT IIS||AL0502|20120930015739.008
MSH|^~\&|ALERT IIS2.10.0|ALERT IIS||AL1655|20120930015739.009||ACK|14|P|2.4
MSA|AA|14|Body Site Code - Inaccurate or missing data. No value stored.
ERR|RXR^1^2
MSA|AA|14|Responsible Party First Name - Inaccurate or missing data. No value stored.
ERR|NK1^1^2
MSA|AA|14|Informational Error - If supplied, MSH 5 must match constraint listed in spec.
ERR|MSH^1
MSA|AA|14|Informational Error - If supplied, MSH 6 must match constraint listed in spec.
ERR|MSH^1
BTS|1
FTS|1
'
...

If the objective is to search just the UpdateHistoryResponse.return element for MSA segments, rather than searching the entire SOAP message for them, then wouldn't it be easier to just access the element directly?
Code:
DECLARE HTTPResp CHARACTER InputRoot.XMLNS.S:Envelope.S:Body.ns2:UpdateHistoryResponse.return;

No CAST or RCD required.

mqjeff wrote:
You must hunt down and destroy every part of your message flow development and every message flow developer that uses the XMLNS domain.

Replacing XMLNS with XLMNSC is a good idea.
Hunting down and destroying developers is optional.


Good idea, thanks
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Oct 01, 2012 12:40 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
You must hunt down and destroy every part of your message flow development and every message flow developer that uses the XMLNS domain.
I'd like to add a small clarification here. XMLNS is a supported domain, and it always will be. There is no *requirement* to rewrite existing, working message flows to use XMLNSC.
Quote:
You will reap immediate and valuable performance benefits
This is almost always true. XMLNSC is a far more efficient parser.
Quote:
at no cost
well...there may be a cost in development time, especially if the flow is doing a complex transformation.
Quote:
Replacing XMLNS with XLMNSC is a good idea.
That's exactly how I would put it.

and finally...writing new messages flows that use XMLNS is not a good idea, even if sometimes it is hard to avoid.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Unable to CAST from InputRoot.BLOB.BLOB?
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.