|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Unable to CAST from InputRoot.BLOB.BLOB? |
« View previous topic :: View next topic » |
Author |
Message
|
simon.starkie |
Posted: Sat Sep 29, 2012 1:21 pm Post subject: Unable to CAST from InputRoot.BLOB.BLOB? |
|
|
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 |
|
 |
mqjeff |
Posted: Sat Sep 29, 2012 10:11 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I'd guess you have InputRoot.XMLNSC instead of InputRoot.BLOB.BLOB. |
|
Back to top |
|
 |
simon.starkie |
Posted: Sun Sep 30, 2012 1:32 am Post subject: |
|
|
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 |
|
 |
simon.starkie |
Posted: Sun Sep 30, 2012 8:33 am Post subject: |
|
|
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 |
|
 |
mqjeff |
Posted: Sun Sep 30, 2012 11:29 am Post subject: |
|
|
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 |
|
 |
simon.starkie |
Posted: Sun Sep 30, 2012 12:07 pm Post subject: |
|
|
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 |
|
 |
rekarm01 |
Posted: Sun Sep 30, 2012 2:50 pm Post subject: |
|
|
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 |
|
 |
simon.starkie |
Posted: Sun Sep 30, 2012 7:41 pm Post subject: |
|
|
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 |
|
 |
kimbert |
Posted: Mon Oct 01, 2012 12:40 am Post subject: |
|
|
 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.
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 |
|
 |
|
|
 |
|
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
|
|
|
|