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 » Resolved:HL7 within CDATA Section of MRM with XML WireFormat

Post new topic  Reply to topic
 Resolved:HL7 within CDATA Section of MRM with XML WireFormat « View previous topic :: View next topic » 
Author Message
wraymore
PostPosted: Thu Mar 06, 2008 12:25 pm    Post subject: Resolved:HL7 within CDATA Section of MRM with XML WireFormat Reply with quote

Centurion

Joined: 16 Aug 2005
Posts: 114
Location: Burlington, NC USA

WMB 6.0.0.3

Receiving XML message into broker that we have a Message Set MRM Domain with XML Wire Format. Need to extract HL7 data from within a CDATA Tag:

ex:

<?xml version="1.0" encoding="UTF-8"?>
<TriadMessage xmlns="http://www.labcorp.com/02/11/2008/V1/TriadMessage.xsd"
xmlns:triad="http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.labcorp.com/02/11/2008/V1/TriadMessage.xsd
TRIAD_XMLWrapper.xsd">
<TriadRouteInfo>
<triad:RoutingProcessId>USLABS_HL7_RESULTS_EDI</triad:RoutingProcessId>
<triad:RoutingCorrelationId></triad:RoutingCorrelationId>
<triad:AltRoutingCorrelationId></triad:AltRoutingCorrelationId>
</TriadRouteInfo>
....
<TriadPayload>
<triad:Payload type = "HL7"
format = "TEXT"
version = "1.0" ><![CDATA[MSH|^~\&|LITHOLINK|($|||200802041701||ORU|2b901d0a-893f-4d07-8d1e-99a3cfd37436|P|2.3
PID|1|135460|135460||Adams^Ronald|19371231|M|1345 S.W. Hwy^^Williamsburg^KY^68311|(303)555-1234|12345678^^^03^^F
ZRL|1|($|Litholink|2250 Campbell Park Dr.|^^Chicago^IL^60612|(312)243-0600||Dr^Asplin^John^^^^MD
ORC|RE|237015^LAB|237015^LAB||||||200802051312|||^Abrahams^Mitchell^H^^^^L^345678^789789^8765
OBR|1||237015^LAB|237015^LAB|335791.1^Kidney Stone Urine^L|||200801280000||1.50|||||200801290000|Urine|||||||200802040000|||F]]>
</triad:Payload>
</TriadPayload>
</TriadMessage>


Message flow is capturing the InputRoot to Environment for later retrieval, while the HL7 is updated and base64 encoded.

The question is how do I extract the HL7 from within the CDATA tag and set to OutputRoot as a BLOB. Next node will be a RCD to apply a MRM TDS Message set to the HL7 string.

Thanks for any help.




Last edited by wraymore on Fri Mar 07, 2008 7:56 am; edited 1 time in total
Back to top
View user's profile Send private message
wraymore
PostPosted: Thu Mar 06, 2008 2:42 pm    Post subject: HL7 within CDATA Section of MRM with XML WireFormat Reply with quote

Centurion

Joined: 16 Aug 2005
Posts: 114
Location: Burlington, NC USA

Here is my esql so far:

DECLARE ErrorMessage CHARACTER;
DECLARE DeviceId CHARACTER;
DECLARE VendorMnemonic CHARACTER;
DECLARE HL7Payload BLOB;

DECLARE triadMsgNS NAMESPACE 'http://www.labcorp.com/02/11/2008/V1/TriadMessage.xsd';
DECLARE triadNS NAMESPACE 'http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd';
DECLARE triadPayld REFERENCE TO InputRoot.MRM.triadMsgNS:TriadPayload;
DECLARE triadDestInfo REFERENCE TO InputRoot.MRM.triadMsgNS:TriadDestinationInfo;

IF triadDestInfo.triadNS:DeviceType <> 'EDI' THEN
SET ErrorMessage = ('DeviceType Not EDI For Message Id: ' || InputRoot.MQMD.MsgId);
THROW USER EXCEPTION MESSAGE 2961 VALUES (ErrorMessage);
ELSE
SET DeviceId = triadDestInfo.triadNS:DeviceId;
SET VendorMnemonic = triadDestInfo.triadNS:DeliveryOptions.triadNS:EDIOptions.triadNS:VendorMnemonic;
SET OutputLocalEnvironment.ScratchPad.DeviceId = DeviceId;
SET OutputLocalEnvironment.ScratchPad.VendorMnemonic = VendorMnemonic;
END IF;

SET OutputRoot.BLOB.BLOB = CAST(triadPayld.triadNS:Payload AS BLOB CCSID OutputRoot.Properties.CodedCharSetId);

-- Copy the input tree, backed by the bitstream, to the environment
-- Set a message pointer to this copied message tree
CREATE LASTCHILD OF Environment DOMAIN 'MRM' NAME 'Variables';
SET Environment.Variables.InputRoot = InputRoot.MRM;

I am successfully parsing the Device_Id and VendorMnemonic from the TRIADDestinaionInfo section, and also saving the full InputRoot.MRM in the Environment. I have a trace node after this compute node that displays the Envrionment, LocalEnvironment, and Root.


I just can not get the HL7 out of the Payload CDATA Tag.

Please
Back to top
View user's profile Send private message
kimbert
PostPosted: Fri Mar 07, 2008 5:31 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

I'm not clear what your problem is. Please quote any error messages you are getting. Try taking a user trace. Try posting the trace of your message tree.
Back to top
View user's profile Send private message
wraymore
PostPosted: Fri Mar 07, 2008 5:41 am    Post subject: HL7 within CDATA Section of MRM with XML WireFormat - update Reply with quote

Centurion

Joined: 16 Aug 2005
Posts: 114
Location: Burlington, NC USA

Made some headway this morning:

Put this code in the esql:

DECLARE bodyBlob BLOB ASBITSTREAM(InputRoot.MRM.triadMsgNS:TriadPayload.triadNS:Payload, InputProperties.Encoding,
InputProperties.CodedCharSetId, 'FOK7ORO002001', 'TriadMessage', 'XML1');
DECLARE creationPtr REFERENCE TO OutputRoot;
CREATE LASTCHILD OF creationPtr DOMAIN('XMLNSC') PARSE(bodyBlob, InputProperties.Encoding, InputProperties.CodedCharSetId);

This gives me the complete Message body, because the parser says that 'InputRoot.MRM.triadMsgNS:TriadPayload.triadNS:Payload' does not match any artifact in the message model.
Is there somewhere in the message model that I need to specify that the data associated with the tag Payload is within a CDATA tag?

Message Model is made up of two mxsd files:
TriadMessage references TriadCommon

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Tina Young (Laboratory Corporation of America) -->
<!-- Modified by Sinu Sekhar (iSOAGroup): Date 02/11/2008 -->
<!--W3C Schema generated by XMLSpy v2006 sp2 U (http://www.altova.com)-->
<xs:schema xmlns="http://www.labcorp.com/02/11/2008/V1/TriadMessage.xsd" xmlns:triad="http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.labcorp.com/02/11/2008/V1/TriadMessage.xsd" version="1.3">
<xs:import namespace="http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd" schemaLocation="../triadcommonxsd/TRIAD_XMLCommon.mxsd"/>
<xs:element name="TriadMessage">
<xs:annotation>
<xs:appinfo source="WMQI_APPINFO">
<MRMessage messageDefinition="/0/TriadMessage;XSDElementDeclaration$MRObject"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TriadRouteInfo" type="triad:TriadRouteInfo"/>
<xs:element name="TriadSourceInfo" type="triad:TriadSourceInfo"/>
<xs:element name="TriadDestinationInfo" type="triad:TriadDestinationInfo"/>
<xs:element name="TriadPayload" type="triad:TriadPayload"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>


<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Tina Young (Laboratory Corporation of America) -->
<!-- Modified by Sinu Sekhar (iSOAGroup): Date 02/11/2008 -->
<!--W3C Schema generated by XMLSpy v2006 sp2 U (http://www.altova.com)-->
<xs:schema xmlns:triad="http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd" version="1.4">
<xs:complexType name="TriadRouteInfo">
<xs:sequence>
<xs:element name="RoutingProcessId" type="xs:string"/>
<xs:element minOccurs="0" name="RoutingCorrelationId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="AltRoutingCorrelationId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TriadSourceInfo">
<xs:sequence>
<xs:element minOccurs="0" name="SystemCorrelationId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="UserCorrelationId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="SourceSenderId" type="xs:string"/>
<xs:element name="SourceTimestamp" type="xs:dateTime"/>
<xs:element minOccurs="0" name="SourceSendType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="S"/>
<xs:enumeration value="R"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="SourceACKBuffer" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="LedgerCode" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="ProfitCenter" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="LabCode" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TriadDestinationInfo">
<xs:sequence>
<xs:element minOccurs="0" name="LabcorpAccount" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="LabcorpTransmitCode" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="LabcorpTerminalId" nillable="true" type="xs:string"/>
<xs:element name="DeviceType" type="xs:string"/>
<xs:element name="DeviceId" type="xs:string"/>
<xs:element minOccurs="0" name="DeliveryOptions" nillable="true">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element name="FaxOptions" type="triad:FaxOptionsType"/>
<xs:element name="EDIOptions" type="triad:EDIOptionsType"/>
</xs:choice>
<xs:element minOccurs="0" name="ConnectivityOptions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Connection" type="triad:ConnectionType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EDIOptionsType">
<xs:sequence>
<xs:element name="VendorMnemonic" type="xs:string"/>
<xs:element name="AcceptPDF" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FaxOptionsType">
<xs:sequence>
<xs:element minOccurs="0" name="CoverSheet" nillable="true">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="FaxTo" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="FaxFrom" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="ATTN" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="FaxHdr" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="Mode" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="Priority" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Report" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="VendorRetryCount" nillable="true" type="xs:int"/>
<xs:element minOccurs="0" name="TSID" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="Color" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ServersType">
<xs:sequence>
<xs:element minOccurs="0" name="URL" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="Host" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="Port" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="Path" nillable="true" type="xs:string"/>
<xs:element name="User" type="xs:string"/>
<xs:element name="Password" type="xs:string"/>
<xs:element minOccurs="0" name="SSL" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="RetryCount" nillable="true" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ConnectionType">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Server" type="triad:ServersType"/>
</xs:sequence>
<xs:attribute name="protocol" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ftp"/>
<xs:enumeration value="http-soap"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="vendor" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ATT"/>
<xs:enumeration value="PGS"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="TriadStatusType">
<xs:sequence>
<xs:element name="Status">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SUCCESS"/>
<xs:enumeration value="FAILURE"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StatusBy" type="xs:string"/>
<xs:element minOccurs="0" name="StatusByMethod" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="CorrelationId" type="xs:string"/>
<xs:element minOccurs="0" name="CorrelationBy" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="MessageForwardedTo" nillable="true" type="xs:string"/>
<xs:element name="StatusTimestamp" type="xs:dateTime"/>
<xs:element minOccurs="0" name="StatusReasonCode" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="StatusReason" type="xs:string"/>
<xs:element minOccurs="0" name="StatusDetail">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Connection">
<xs:complexType>
<xs:sequence>
<xs:element name="Server">
<xs:complexType>
<xs:complexContent>
<xs:extension base="triad:ServersType">
<xs:sequence>
<xs:element name="ConnectStatus">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SUCCESS"/>
<xs:enumeration value="FAILURE"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ConnectStatusReason" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="protocol" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ftp"/>
<xs:enumeration value="http-soap"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="vendor" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ATT"/>
<xs:enumeration value="PGS"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PayloadType">
<xs:complexContent>
<xs:extension base="xs:anyType">
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="HL7"/>
<xs:enumeration value="FAX_HEADER"/>
<xs:enumeration value="PDF"/>
<xs:enumeration value="XML"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="format">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="TEXT"/>
<xs:enumeration value="BASE64"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="version"/>
<xs:attribute name="filename" type="xs:string"/>
<xs:attribute name="filesize" type="xs:long"/>
<xs:attribute name="pages" type="xs:int"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="TriadMetricType">
<xs:sequence>
<xs:element minOccurs="0" name="MetricResponseMilliseconds" nillable="true" type="xs:int"/>
<xs:element minOccurs="0" name="MetricRecordsIn" nillable="true" type="xs:int"/>
<xs:element minOccurs="0" name="MetricRecordsOut" nillable="true" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TriadPayload">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Payload" type="triad:PayloadType"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

User Trace:
2008-03-07 07:38:42.325611 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE CacheQueueTableDev ROW;'' at ('.CacheQueueTableDev', '1.1').
2008-03-07 07:38:42.325706 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''BEGIN ... END;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '1.41').
2008-03-07 07:38:42.325775 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''CopyMessageHeaders();'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '2.3').
2008-03-07 07:38:42.325809 5950 UserTrace BIP2538I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''CopyMessageHeaders()'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '2.8').
2008-03-07 07:38:42.325839 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''BEGIN ... END;'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '1.40').
2008-03-07 07:38:42.325878 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE I INTEGER 1;'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '2.3').
2008-03-07 07:38:42.325927 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE J INTEGER;'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '3.3').
2008-03-07 07:38:42.325973 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET J = CARDINALITY(InputRoot.*:*[ ]);'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '4.3').
2008-03-07 07:38:42.326038 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''InputRoot.*:*[ ]'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '4.23'). This resolved to ''InputRoot.*:*[]''. The result was ''LIST... First Element Type=16777216 NameSpace='' Name='Properties' Value=NULL''.
2008-03-07 07:38:42.326099 5950 UserTrace BIP2540I: Node 'TRD_EDIManager.ExtractHL7FromXML': Finished evaluating expression ''CARDINALITY(InputRoot.*:*[ ])'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '4.11'). The result was ''3''.
2008-03-07 07:38:42.326133 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''WHILE I < J DO ... END WHILE;'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.3').
2008-03-07 07:38:42.326171 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.9'). This resolved to ''I''. The result was ''1''.
2008-03-07 07:38:42.326202 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''J'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.13'). This resolved to ''J''. The result was ''3''.
2008-03-07 07:38:42.326244 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I < J'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.9'). This resolved to ''1 < 3''. The result was ''TRUE''.
2008-03-07 07:38:42.326301 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET OutputRoot.*:*[I] = InputRoot.*:*[I];'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.4').
2008-03-07 07:38:42.326343 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.38'). This resolved to ''I''. The result was ''1''.
2008-03-07 07:38:42.326381 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.38'). This resolved to ''I''. The result was ''1''.
2008-03-07 07:38:42.326438 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''InputRoot.*:*[I]'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.26'). This resolved to ''InputRoot.*:*[1]''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='Properties' Value=NULL''.
2008-03-07 07:38:42.326484 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.21'). This resolved to ''I''. The result was ''1''.
2008-03-07 07:38:42.326507 5950 UserTrace BIP2568I: Node 'TRD_EDIManager.ExtractHL7FromXML': Copying sub-tree from ''InputRoot.*:*[I]'' to ''OutputRoot.*:*[I]''.
2008-03-07 07:38:42.326698 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET I = I + 1;'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '7.4').
2008-03-07 07:38:42.326740 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '7.12'). This resolved to ''I''. The result was ''1''.
2008-03-07 07:38:42.326786 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I + 1'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '7.14'). This resolved to ''1 + 1''. The result was ''2''.
2008-03-07 07:38:42.326820 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.9'). This resolved to ''I''. The result was ''2''.
2008-03-07 07:38:42.326873 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''J'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.13'). This resolved to ''J''. The result was ''3''.
2008-03-07 07:38:42.326911 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I < J'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.9'). This resolved to ''2 < 3''. The result was ''TRUE''.
2008-03-07 07:38:42.326953 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET OutputRoot.*:*[I] = InputRoot.*:*[I];'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.4').
2008-03-07 07:38:42.326995 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.38'). This resolved to ''I''. The result was ''2''.
2008-03-07 07:38:42.327033 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.38'). This resolved to ''I''. The result was ''2''.
2008-03-07 07:38:42.327068 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''InputRoot.*:*[I]'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.26'). This resolved to ''InputRoot.*:*[2]''. The result was ''ROW... Root Element Type=16777216 NameSpace='' Name='MQMD' Value=NULL''.
2008-03-07 07:38:42.327106 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '6.21'). This resolved to ''I''. The result was ''2''.
2008-03-07 07:38:42.327201 5950 UserTrace BIP2568I: Node 'TRD_EDIManager.ExtractHL7FromXML': Copying sub-tree from ''InputRoot.*:*[I]'' to ''OutputRoot.*:*[I]''.
2008-03-07 07:38:42.327312 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET I = I + 1;'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '7.4').
2008-03-07 07:38:42.327350 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '7.12'). This resolved to ''I''. The result was ''2''.
2008-03-07 07:38:42.327392 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I + 1'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '7.14'). This resolved to ''2 + 1''. The result was ''3''.
2008-03-07 07:38:42.327426 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.9'). This resolved to ''I''. The result was ''3''.
2008-03-07 07:38:42.327461 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''J'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.13'). This resolved to ''J''. The result was ''3''.
2008-03-07 07:38:42.327499 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''I < J'' at ('.TRD_EDIManager_ExtractHL7FromXML.CopyMessageHeaders', '5.9'). This resolved to ''3 < 3''. The result was ''FALSE''.
2008-03-07 07:38:42.327541 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE ErrorMessage CHARACTER;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '5.3').
2008-03-07 07:38:42.327613 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE DeviceId CHARACTER;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '6.3').
2008-03-07 07:38:42.327659 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE VendorMnemonic CHARACTER;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '7.3').
2008-03-07 07:38:42.327705 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE triadMsgNS NAMESPACE 'http://www.labcorp.com/02/11/2008/V1/TriadMessage.xsd';'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '10.3').
2008-03-07 07:38:42.327754 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE triadNS NAMESPACE 'http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd';'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '11.3').
2008-03-07 07:38:42.327800 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE triadPayld REFERENCE TO InputRoot.MRM.triadMsgNS:TriadPayload;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '12.3').
2008-03-07 07:38:42.327857 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE triadDestInfo REFERENCE TO InputRoot.MRM.triadMsgNS:TriadDestinationInfo;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '13.3').
2008-03-07 07:38:42.327915 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''CREATE LASTCHILD OF Environment DOMAIN 'MRM' NAMESPACE '' NAME 'Variables';'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '17.3').
2008-03-07 07:38:42.328060 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET Environment.Variables.InputRoot = InputRoot.MRM;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '18.3').
2008-03-07 07:38:42.328113 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''InputRoot.MRM'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '18.41'). This resolved to ''InputRoot.MRM''. The result was ''ROW... Root Element Type=16777249 NameSpace='' Name='MRM' Value=NULL''.
2008-03-07 07:38:42.328147 5950 UserTrace BIP2568I: Node 'TRD_EDIManager.ExtractHL7FromXML': Copying sub-tree from ''InputRoot.MRM'' to ''Environment.Variables.InputRoot''.
2008-03-07 07:38:42.328277 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''IF triadDestInfo.triadNS:DeviceType <> 'EDI' THEN... ELSE... END IF;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '20.3').
2008-03-07 07:38:42.328342 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''triadDestInfo.triadNS:DeviceType'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '20.6'). This resolved to ''triadDestInfo.http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd:DeviceType''. The result was ''ROW... Root Element Type=50331648 NameSpace='http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd' Name='DeviceType' Value='EDI'''.
2008-03-07 07:38:42.328399 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''triadDestInfo.triadNS:DeviceType <> 'EDI''' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '20.39'). This resolved to ''ROW... Root Element Type=50331648 NameSpace='http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd' Name='DeviceType' Value='EDI' <> 'EDI'''. The result was ''FALSE''.
2008-03-07 07:38:42.328479 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET DeviceId = triadDestInfo.triadNS:DeviceId;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '24.4').
2008-03-07 07:38:42.328529 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''triadDestInfo.triadNS:DeviceId'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '24.19'). This resolved to ''triadDestInfo.http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd:DeviceId''. The result was '''MB000356'''.
2008-03-07 07:38:42.328586 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET VendorMnemonic = triadDestInfo.triadNS:DeliveryOptions.triadNS:EDIOptions.triadNS:VendorMnemonic;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '25.4').
2008-03-07 07:38:42.328830 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''triadDestInfo.triadNS:DeliveryOptions.triadNS:EDIOptions.triadNS:VendorMnemonic'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '25.25'). This resolved to ''triadDestInfo.http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd:DeliveryOptions.http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd:EDIOptions.http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd:VendorMnemonic''. The result was '''ABCDEFG'''.
2008-03-07 07:38:42.328895 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET OutputLocalEnvironment.ScratchPad.DeviceId = DeviceId;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '26.4').
2008-03-07 07:38:42.328937 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''DeviceId'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '26.53'). This resolved to ''DeviceId''. The result was '''MB000356'''.
2008-03-07 07:38:42.328998 5950 UserTrace BIP2566I: Node 'TRD_EDIManager.ExtractHL7FromXML': Assigning value '''MB000356''' to field / variable ''OutputLocalEnvironment.ScratchPad.DeviceId''.
2008-03-07 07:38:42.329059 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''SET OutputLocalEnvironment.ScratchPad.VendorMnemonic = VendorMnemonic;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '27.4').
2008-03-07 07:38:42.329406 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''VendorMnemonic'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '27.59'). This resolved to ''VendorMnemonic''. The result was '''ABCDEFG'''.
2008-03-07 07:38:42.329444 5950 UserTrace BIP2566I: Node 'TRD_EDIManager.ExtractHL7FromXML': Assigning value '''ABCDEFG''' to field / variable ''OutputLocalEnvironment.ScratchPad.VendorMnemonic''.
2008-03-07 07:38:42.329494 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE bodyBlob BLOB ASBITSTREAM(InputRoot.MRM.triadMsgNS:TriadPayload.triadNS:Payload ENCODING InputProperties.Encoding CCSID InputProperties.CodedCharSetId SET 'FOK7ORO002001' TYPE 'TriadMessage' FORMAT 'XML1');'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '37.3').
2008-03-07 07:38:42.329555 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''InputProperties.Encoding'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '37.92'). This resolved to ''InputProperties.Encoding''. The result was ''546''.
2008-03-07 07:38:42.329597 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''InputProperties.CodedCharSetId'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '38.4'). This resolved to ''InputProperties.CodedCharSetId''. The result was ''437''.
2008-03-07 07:38:42.330490 5950 UserTrace BIP5493W: Message, element or attribute '' is self-defining within parent 'http://www.labcorp.com/02/11/2008/V1/TriadCommon.xsd:Payload'. The message, element or attribute '' did not match with any corresponding artifact in the message model hence it is considered to be self-defining.
If it is not intended that this message, element or attribute be self-defining,
check that the message set is referenced in the message properties, or
modify the message model to correspond to the instance message, or
modify the instance message to correspond to the message model.
2008-03-07 07:38:42.332653 5950 UserTrace BIP2540I: Node 'TRD_EDIManager.ExtractHL7FromXML': Finished evaluating expression ''ASBITSTREAM(InputRoot.MRM.triadMsgNS:TriadPayload.triadNS:Payload ENCODING InputProperties.Encoding CCSID InputProperties.CodedCharSetId SET 'FOK7ORO002001' TYPE 'TriadMessage' FORMAT 'XML1')'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '37.25'). The result was ''X'3c3f786d6c2076657273696f6e3d22312e30223f3e3c4e53313a54726961644d65737361676520786d6c6e733a4e53313d22687474703a2f2f7777772e6c6162'... (data of len 8018 truncated)'''.
2008-03-07 07:38:42.332733 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''DECLARE creationPtr REFERENCE TO OutputRoot;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '39.3').
2008-03-07 07:38:42.332794 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''CREATE LASTCHILD OF creationPtr DOMAIN 'XMLNSC' PARSE(bodyBlob, InputProperties.Encoding, InputProperties.CodedCharSetId);'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '40.3').
2008-03-07 07:38:42.332954 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''bodyBlob'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '40.58'). This resolved to ''bodyBlob''. The result was ''X'3c3f786d6c2076657273696f6e3d22312e30223f3e3c4e53313a54726961644d65737361676520786d6c6e733a4e53313d22687474703a2f2f7777772e6c6162'... (data of len 8018 truncated)'''.
2008-03-07 07:38:42.333026 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''InputProperties.Encoding'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '40.68'). This resolved to ''InputProperties.Encoding''. The result was ''546''.
2008-03-07 07:38:42.333065 5950 UserTrace BIP2539I: Node 'TRD_EDIManager.ExtractHL7FromXML': Evaluating expression ''InputProperties.CodedCharSetId'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '40.94'). This resolved to ''InputProperties.CodedCharSetId''. The result was ''437''.
2008-03-07 07:38:42.333705 5950 UserTrace BIP2537I: Node 'TRD_EDIManager.ExtractHL7FromXML': Executing statement ''RETURN TRUE;'' at ('.TRD_EDIManager_ExtractHL7FromXML.Main', '42.3').
2008-03-07 07:38:42.333889 5950 UserTrace BIP4007I: Message propagated to 'out' terminal of node 'TRD_EDIManager.ExtractHL7FromXML'.
Back to top
View user's profile Send private message
kimbert
PostPosted: Fri Mar 07, 2008 6:02 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
Is there somewhere in the message model that I need to specify that the data associated with the tag Payload is within a CDATA tag?
No - in the MRM XML format, the fact that the data was enclosed in a CDATA section is forgotten. You just get the contents.

You should seriously consider parsing the input message using the XMLNSC domain. That way, when you upgrade to v6.1 you will be able to
- generate base64 output more easily
- get better support for CDATA sections
Oh, and you will get a big reduction in CPU usage even in v6.0.

Quote:
the parser says that 'InputRoot.MRM.triadMsgNS:TriadPayload.triadNS:Payload' does not match any artifact in the message model.
This is nothing to do with the CData section. The problem is simply that your message model is not an accurate description of the input XML. See similar posts on this subject in the last couple of months.
So the correct solutiion is to fix the message model. You may get a more specific error message if you temporarily switch on validation in your message flow.

Please don't hack a result by re-serializing part of the input message and then re-parsing using XMLNSC. That just burns CPU and creates an unmaintainable application.
Back to top
View user's profile Send private message
wraymore
PostPosted: Fri Mar 07, 2008 7:55 am    Post subject: Reply with quote

Centurion

Joined: 16 Aug 2005
Posts: 114
Location: Burlington, NC USA

Switched to XMLNSC Domain and removed the hacking. Getting the outcome I need for processing the HL7. Thanks kimbert
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 » Resolved:HL7 within CDATA Section of MRM with XML WireFormat
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.