Author |
Message
|
bindu |
Posted: Sun Apr 16, 2006 10:26 pm Post subject: WBIMB V6.0 XML to CWF problem |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi,
I am giving input as XMl and expecting output as CWF. For this i created a message set project. I am unable to recive the output message. its going to error queue. When i turn on tha trace i found the following details
Timestamps are formatted in local time, 420 minutes before GMT.
Trace written by version ; formatter version 6000
2006-04-16 23:13:25.303356 576 UserTrace BIP4040I: The Execution Group ''Exercise'' has processed a configuration message successfully.
A configuration message has been processed successfully. Any configuration changes have been made and stored persistently.
No user action required.
2006-04-16 23:13:25.303840 576 UserTrace BIP2638I: The MQ output node 'ConfigurationMessageFlow.outputNode' attempted to write a message to queue ''SYSTEM.BROKER.EXECUTIONGROUP.REPLY'' connected to queue manager ''WBRK6_DEFAULT_QUEUE_MANAGER''. The MQCC was '0' and the MQRC was '0'.
2006-04-16 23:13:25.303878 576 UserTrace BIP2622I: Message successfully output by output node 'ConfigurationMessageFlow.outputNode' to queue ''SYSTEM.BROKER.EXECUTIONGROUP.REPLY'' on queue manager ''WBRK6_DEFAULT_QUEUE_MANAGER''.
2006-04-16 23:13:28.256036 576 UserTrace BIP2632I: Message received and propagated to 'out' terminal of MQ input node 'ConfigurationMessageFlow.InputNode'.
2006-04-16 23:13:28.256109 576 UserTrace BIP6060I: Parser type ''Properties'' created on behalf of node 'ConfigurationMessageFlow.InputNode' to handle portion of incoming message of length 0 bytes beginning at offset '0'.
2006-04-16 23:13:28.256143 576 UserTrace BIP6061I: Parser type ''MQMD'' created on behalf of node 'ConfigurationMessageFlow.InputNode' to handle portion of incoming message of length '364' bytes beginning at offset '0'. Parser type selected based on value ''MQHMD'' from previous parser.
2006-04-16 23:13:28.256210 576 UserTrace BIP6061I: Parser type ''XMLS'' created on behalf of node 'ConfigurationMessageFlow.InputNode' to handle portion of incoming message of length '244' bytes beginning at offset '364'. Parser type selected based on value ''XMLS'' from previous parser.
Threads encountered in this trace:
576
Any help how to resolve this.
Thanq You,
Bindu. |
|
Back to top |
|
 |
wschutz |
Posted: Mon Apr 17, 2006 3:05 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Bindu, you need to tell us how you have set up your message flow. What nodes are involved, did you specify a default domain on the mqinput node (xml?), are you using a mapping node and how it is setup, etc. How do you expect that the broker will convert your message from XML to a CWF format? _________________ -wayne |
|
Back to top |
|
 |
bindu |
Posted: Mon Apr 17, 2006 9:36 am Post subject: WBIMB V6.0 XML to CWF problem |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi Wayne,
Thanx for your reply....I mensioned XML as domain name for my input node. In my message flow i used MQ InputNode, ComputeNode & Output Node. From MQ Input node Catch and failure terminals i connected on queue. I also created one message set for CWF. Let me know if you need any more information.
Thanq You,
Bindu. |
|
Back to top |
|
 |
shanson |
Posted: Mon Apr 17, 2006 12:35 pm Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
The details in the trace are nothing to do with your problem - they relate to processing the last configuration you deployed to the broker. |
|
Back to top |
|
 |
bindu |
Posted: Mon Apr 17, 2006 3:37 pm Post subject: WBIMB V6.0 XML to CWF problem |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi,
The above trace details are not for configuration details. I started user trace with mqsichangetrace and got those. Before putting the input XML into I/P Queue i started this trace and ended after seeing the message in the Error queue. Basically what i am doing is ...I am passing input message type xml and expecting output as CWF (Fixed length string).. in compute node i wrote transalation logic from xml to mrm and also have message set. Any help.
Thanq You,
Bindu. |
|
Back to top |
|
 |
wschutz |
Posted: Mon Apr 17, 2006 4:04 pm Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
bindu, can you put a trace node before and after the compute node and trace the contents of ${Root}? _________________ -wayne |
|
Back to top |
|
 |
shanson |
Posted: Mon Apr 17, 2006 11:23 pm Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
bindu, sorry to correct you again, but the trace entries you have shown are for the successful receipt of a broker configuration message, the kind of message that the config manager sends to the broker for a deploy, or when starting/stopping a message flow. This is indicated by the BIP4040 message, and the name of the message flow being 'ConfigurationMessageFlow'. The trace entries have nothing whatsoever to do with a user-written message flow processing an XML message into a CWF message.
Please do as wschutz suggests.
Also please post the ESQL you are using in the Compute node.
Have you checked the system log for error messages? That is the first place you should look. |
|
Back to top |
|
 |
bindu |
Posted: Tue Apr 18, 2006 6:35 am Post subject: WBIMB V6.0 XML to CWF problem |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi,
I am posting my ESQL and also Trace details Before and after Compute node...I connected the failure & Catch terminal of I/P queue to Error Queue.....I following is the my flow
I/P Node + Trace1 + XML_CWF Compute Node+trace2+O/P Node
------------------
ESQL Code:
CREATE COMPUTE MODULE Request_MsgFlow_XML_TO_CWF
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
CALL CopyMessageHeaders();
-- CALL CopyEntireMessage();
SET OutputRoot.MRM=NULL;
SET OutputRoot.MQRFH=NULL;
SET OutputRoot.MQRFH2=NULL;
SET OutputRoot.Properties.MessageFormat= 'CWF';
SET OutputRoot.Properties.MessageDomain= 'MRM';
SET OutputRoot.Properties.CodedCharSetId= 037;
SET OutputRoot.Properties."Encoding"= 785;
SET OutputRoot.MQMD.Format = 'CWF';
SET OutputRoot.MQMD.CodedCharSetId = 813;
SET OutputRoot.MRM.REQUEST.COMPANY.NAME = '';
SET OutputRoot.MRM.REQUEST.ADDRESS_DETAILS.STREET_NAME = '';
SET OutputRoot.MRM.REQUEST.ADDRESS_DETAILS.STATE = '';
SET OutputRoot.MRM.REQUEST.ADDRESS_DETAILS.COUNTRY = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.NAME_FIRSTNAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.NAME_MIDDLENAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.NAME_LASTNAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.POSITION_TITLE = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.SALARY = 75000;
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.GENDER = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_STNUMBER = 50;
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_STNAME ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_CITY ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_STATE ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_ZIP = 12345;
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.CONTACT_HOME ='000-000-1234';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.CONTACT_MOBILE ='000-000-1234';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.CONTACT_EMAILID ='1234567890@yahoo.com';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.NAME_FIRSTNAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.NAME_MIDDLENAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.NAME_LASTNAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.POSITION_TITLE = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.SALARY = 75000;
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.GENDER = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_STNUMBER = 50;
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_STNAME ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_CITY ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_STATE ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_ZIP = 12345;
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.CONTACT_HOME ='000-000-1234';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.CONTACT_MOBILE ='000-000-1234';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.CONTACT_EMAILID ='1234567890@yahoo.com';
RETURN TRUE;
END;
CREATE PROCEDURE CopyMessageHeaders() BEGIN
DECLARE I INTEGER;
DECLARE J INTEGER;
SET I = 1;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
SET OutputRoot.Properties.MessageSet = 'K3JNR48002001';
SET OutputRoot.Properties.MessageType = 'msg_REQUEST';
END;
CREATE PROCEDURE CopyEntireMessage() BEGIN
SET OutputRoot = InputRoot;
END;
END MODULE;
------------------------------
Trace node1 (Before Compute Node)
(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2006-04-18 05:09:00.650'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'Request.queue'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d51205742524b365f44454641554ccabb434420002f09'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'WBRK6_DEFAULT_QUEUE_MANAGER '
(0x03000000):UserIdentifier = 'names '
(0x03000000):AccountingToken = X'16010515000000a837d66519525f1243170a32eb03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 'gs\name\Desktop\rfhutil.exe'
(0x03000000):PutDate = DATE '2006-04-18'
(0x03000000):PutTime = GMTTIME '05:09:00.650'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000010):XML = (
(0x05000018):XML = (
(0x06000011): = '1.0'
(0x06000012): = 'UTF-8'
)
(0x06000002): = '
'
(0x01000000):Request = (
(0x02000000): = '
'
(0x01000000):Company = (
(0x02000000): = '
'
(0x01000000):Name = (
(0x02000000): = 'IBM'
)
(0x02000000): = '
'
(0x01000000):Address = (
(0x02000000): = '
'
(0x01000000):StreetName = (
(0x02000000): = 'IBM Drive'
)
(0x02000000): = '
'
(0x01000000):State = (
(0x02000000): = 'CA'
)
(0x02000000): = '
'
(0x01000000):Country = (
(0x02000000): = 'USA'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000):Employee = (
(0x02000000): = '
'
(0x01000000):Details = (
(0x02000000): = '
'
(0x01000000):Name = (
(0x02000000): = '
'
(0x01000000):FirstName = (
(0x02000000): = 'FirstName'
)
(0x02000000): = '
'
(0x01000000):MiddleName = (
(0x02000000): = 'B'
)
(0x02000000): = '
'
(0x01000000):LastName = (
(0x02000000): = 'LastName'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000):Position = (
(0x02000000): = 'Programmer Analyst'
)
(0x02000000): = '
'
(0x01000000):Salary = (
(0x02000000): = '75000'
)
(0x02000000): = '
'
(0x01000000):Gender = (
(0x02000000): = 'M'
)
(0x02000000): = '
'
(0x01000000):Address = (
(0x02000000): = '
'
(0x01000000):StreetNumber = (
(0x02000000): = '02'
)
(0x02000000): = '
'
(0x01000000):StreetName = (
(0x02000000): = 'IBM Drive'
)
(0x02000000): = '
'
(0x01000000):City = (
(0x02000000): = 'San Ramon'
)
(0x02000000): = '
'
(0x01000000):State = (
(0x02000000): = 'AA'
)
(0x02000000): = '
'
(0x01000000):ZipCode = (
(0x02000000): = '12345'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000):ContactInformation = (
(0x02000000): = '
'
(0x01000000):PhoneNumber = (
(0x02000000): = '
'
(0x01000000):Home = (
(0x02000000): = '000-000-0001'
)
(0x02000000): = '
'
(0x01000000):Mobile = (
(0x02000000): = '000-000-0001'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000):eMailID = (
(0x02000000): = 'name@yahoo.com'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000):Employee = (
(0x02000000): = '
'
(0x01000000):Details = (
(0x02000000): = '
'
(0x01000000):Name = (
(0x02000000): = '
'
(0x01000000):FirstName = (
(0x02000000): = 'FirstName'
)
(0x02000000): = '
'
(0x01000000):MiddleName =
(0x02000000): = '
'
(0x01000000):LastName = (
(0x02000000): = 'LastName'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000):Position = (
(0x02000000): = 'Programmer Analyst'
)
(0x02000000): = '
'
(0x01000000):Salary = (
(0x02000000): = '65000'
)
(0x02000000): = '
'
(0x01000000):Gender = (
(0x02000000): = 'F'
)
(0x02000000): = '
'
(0x01000000):Address = (
(0x02000000): = '
'
(0x01000000):StreetNumber = (
(0x02000000): = '50'
)
(0x02000000): = '
'
(0x01000000):StreetName = (
(0x02000000): = 'IBM Drive'
)
(0x02000000): = '
'
(0x01000000):City = (
(0x02000000): = 'San Ramon'
)
(0x02000000): = '
'
(0x01000000):State = (
(0x02000000): = 'AA'
)
(0x02000000): = '
'
(0x01000000):ZipCode = (
(0x02000000): = '12345'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000):ContactInformation = (
(0x02000000): = '
'
(0x01000000):PhoneNumber = (
(0x02000000): = '
'
(0x01000000):Home = (
(0x02000000): = '000-000-1234'
)
(0x02000000): = '
'
(0x01000000):Mobile = (
(0x02000000): = '000-000-1234'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
(0x01000000):eMailID = (
(0x02000000): = 'name@yahoo.com'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
)
(0x02000000): = '
'
)
)
)
--------------------------------------
Trace2 (After The Compute Node)
(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'K3JNR48002001'
(0x03000000):MessageType = 'msg_REQUEST'
(0x03000000):MessageFormat = 'CWF'
(0x03000000):Encoding = 785
(0x03000000):CodedCharSetId = 37
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2006-04-18 05:09:00.650'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'Request.queue'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 785
(0x03000000):CodedCharSetId = 37
(0x03000000):Format = 'CWF'
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d51205742524b365f44454641554ccabb434420002f09'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'WBRK6_DEFAULT_QUEUE_MANAGER '
(0x03000000):UserIdentifier = 'names '
(0x03000000):AccountingToken = X'16010515000000a837d66519525f1243170a32eb03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 'gs\label\Desktop\rfhutil.exe'
(0x03000000):PutDate = DATE '2006-04-18'
(0x03000000):PutTime = GMTTIME '05:09:00.650'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000021):MRM = (
(0x01000000):REQUEST = (
(0x01000000):COMPANY = (
(0x03000000):NAME = ''
)
(0x01000000):ADDRESS_DETAILS = (
(0x03000000):STREET_NAME = ''
(0x03000000):STATE = ''
(0x03000000):COUNTRY = ''
)
(0x01000000):EMPLOYEE1_DETAILS = (
(0x03000000):NAME_FIRSTNAME = ''
(0x03000000):NAME_MIDDLENAME = ''
(0x03000000):NAME_LASTNAME = ''
(0x03000000):POSITION_TITLE = ''
(0x03000000):SALARY = 75000
(0x03000000):GENDER = ''
(0x03000000):ADDR_STNUMBER = 50
(0x03000000):ADDR_STNAME = ''
(0x03000000):ADDR_CITY = ''
(0x03000000):ADDR_STATE = ''
(0x03000000):ADDR_ZIP = 12345
(0x03000000):CONTACT_HOME = '000-000-1234'
(0x03000000):CONTACT_MOBILE = '000-000-1234'
(0x03000000):CONTACT_EMAILID = '1234567890@yahoo.com'
)
(0x01000000):EMPLOYEE2_DETAILS = (
(0x03000000):NAME_FIRSTNAME = ''
(0x03000000):NAME_MIDDLENAME = ''
(0x03000000):NAME_LASTNAME = ''
(0x03000000):POSITION_TITLE = ''
(0x03000000):SALARY = 75000
(0x03000000):GENDER = ''
(0x03000000):ADDR_STNUMBER = 50
(0x03000000):ADDR_STNAME = ''
(0x03000000):ADDR_CITY = ''
(0x03000000):ADDR_STATE = ''
(0x03000000):ADDR_ZIP = 12345
(0x03000000):CONTACT_HOME = '000-000-1234'
(0x03000000):CONTACT_MOBILE = '000-000-1234'
(0x03000000):CONTACT_EMAILID = '1234567890@yahoo.com'
)
)
)
)
---------------------------
I am not sure why its going to error queue instead of O/P queue.
Thanq You,
Bindu. |
|
Back to top |
|
 |
shanson |
Posted: Tue Apr 18, 2006 7:16 am Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
Try removing these two lines:
Quote: |
SET OutputRoot.MQMD.Format = 'CWF';
SET OutputRoot.MQMD.CodedCharSetId = 813; |
Please also tell me what you are seeing in the system log. You are clearly getting some sort of exception thrown.
Also remove this line - it does nothing as there is no such Properties field.
Quote: |
SET OutputRoot.Properties.MessageDomain='MRM'; |
|
|
Back to top |
|
 |
bindu |
Posted: Tue Apr 18, 2006 9:34 am Post subject: WBIMB V6.0 XML to CWF problem |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi,
Where can i find the system logs on WBIMB V6 on Windows.
Thanq You,
bindu. |
|
Back to top |
|
 |
shanson |
Posted: Tue Apr 18, 2006 10:01 am Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
The Windows Event Viewer is where exceptions are logged, under the Application view. If you have a problem this is the first place you should be looking.
However I think you will find nothing there, as you have wired up your input node catch terminal. This means you have taken responsibility for the error and are handling it yourself. You need to do one of three things:
a) Insert a Compute node in your failure path that contains ESQL to examine the ExceptionList tree for the error. Google on ac16830_ to get help doing this.
b) Insert a Trace node in your failure path that contains the expression ${ExceptionList} to dump the exception list to user trace.
c) Unwire your catch terminal, the execption then gets logged to the system log and propogated down the failure terminal. Make sure your backout retry count on the input queue is 1. |
|
Back to top |
|
 |
Bill.Matthews |
Posted: Tue Apr 18, 2006 11:48 am Post subject: Re: WBIMB V6.0 XML to CWF problem |
|
|
 Master
Joined: 23 Sep 2003 Posts: 232 Location: IBM (Retired)
|
Some comments on your ESQL:
1. Since you only copied the headers, there is no output message, so there is no need to do the SET OutputRoot.MRM=NULL; If the real message does not come in with an RFH or RFH2 header, then those two sets are not needed.
However, when you did the set for MessageFormat and MessageDomain (and this DOES NOT EXIST), you left out the MessageType which is the name of your message definition - However, those fields are present in the trace record you provided. Did you use a Reset Content Descriptor node? or is the ESQL old?
I did see the two sets for MessageType and MessageSet - but they are included as part of the CopyMessageHeaders routine - not a good thing to do.
Question - when you created the message set and added the Common Wire Format - did you change the default value from CWF1 to CWF? Either will work, but they must match.
THIS (CWF) just may be your problem.
I see in the trace that the message is destined for a mainframe, you used 037 as the CCSID - you will need to verify that the mainframe is using 037 - most mf shops now use 500.
As already suggested, I would not specify anything for the MQMD.Format field. When the message is not all character (as this one appears to be), the Format field identifies a conversion routing on the target system - but, this is also not needed since WMB will take care of that for you.
bindu wrote: |
SET OutputRoot.MRM=NULL;
SET OutputRoot.MQRFH=NULL;
SET OutputRoot.MQRFH2=NULL;
SET OutputRoot.Properties.MessageFormat= 'CWF';
SET OutputRoot.Properties.MessageDomain= 'MRM';
SET OutputRoot.Properties.CodedCharSetId= 037;
SET OutputRoot.Properties."Encoding"= 785;
SET OutputRoot.MQMD.Format = 'CWF';
SET OutputRoot.MQMD.CodedCharSetId = 813;
|
_________________ Bill Matthews |
|
Back to top |
|
 |
bindu |
Posted: Tue Apr 18, 2006 11:57 am Post subject: WBIMB V6.0 XML to CWF problem |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi,
i removed three lines from the ESQL and also made changes on message flow like
I/P node failure to tarce with ExceptionList +Error Queue
I/P Node + trace1 (root) + Compute Node (xml to cwf)+ Tarce2 (root) + O/P Queue
Please have a look at the Exception List came from Exception tace node that is connected to failure terminal of I/P node ....and also i didnt find any error on System log
(
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S000_P\src\DataFlowEngine\ImbMqInputNode.cpp'
(0x03000000):Line = 1768
(0x03000000):Function = 'ImbCommonInputNode::eligibleForBackout'
(0x03000000):Type = 'ComIbmMQInputNode'
(0x03000000):Name = 'Request_MsgFlow#FCMComposite_1_1'
(0x03000000):Label = 'Request_MsgFlow.RequestQueue'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2652
(0x03000000):Text = 'Dequeued failed message. Propagating a message to the failure terminal'
)
)
Thanq You,
Bindu. |
|
Back to top |
|
 |
bindu |
Posted: Tue Apr 18, 2006 3:25 pm Post subject: WBIMB V6.0 XML to CWF problem ---urgent |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi,
i changed my flow again like below
I/P Node failure to trace to Error queue
I/P Node Catch to CatchTrace to Error queue
I/P node + trace1 + Compute Node(XML to CWF) + trace2 + O/P
i didnt used any reset Content descriptor node
When i put message into I/P Q then its going to Error queue through catch tarce...
here is my ESQL (Compute Node)
CREATE COMPUTE MODULE Request_MsgFlow_XML_TO_CWF
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
CALL CopyMessageHeaders();
-- CALL CopyEntireMessage();
SET OutputRoot.Properties.MessageSet = 'K3JNR48002001';
SET OutputRoot.Properties.MessageType = 'msg_REQUEST';
SET OutputRoot.MQRFH=NULL;
SET OutputRoot.MQRFH2=NULL;
SET OutputRoot.Properties.MessageFormat= 'CWF1';
SET OutputRoot.Properties.CodedCharSetId= 500;
SET OutputRoot.Properties."Encoding"= 785;
SET OutputRoot.MRM.REQUEST.COMPANY.NAME = '';
SET OutputRoot.MRM.REQUEST.ADDRESS_DETAILS.STREET_NAME = '';
SET OutputRoot.MRM.REQUEST.ADDRESS_DETAILS.STATE = '';
SET OutputRoot.MRM.REQUEST.ADDRESS_DETAILS.COUNTRY = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.NAME_FIRSTNAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.NAME_MIDDLENAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.NAME_LASTNAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.POSITION_TITLE = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.SALARY = 75000;
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.GENDER = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_STNUMBER = 50;
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_STNAME ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_CITY ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_STATE ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.ADDR_ZIP = 12345;
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.CONTACT_HOME ='000-000-1234';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.CONTACT_MOBILE ='000-000-1234';
SET OutputRoot.MRM.REQUEST.EMPLOYEE1_DETAILS.CONTACT_EMAILID ='1234567890@yahoo.com';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.NAME_FIRSTNAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.NAME_MIDDLENAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.NAME_LASTNAME = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.POSITION_TITLE = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.SALARY = 75000;
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.GENDER = '';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_STNUMBER = 50;
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_STNAME ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_CITY ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_STATE ='';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.ADDR_ZIP = 12345;
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.CONTACT_HOME ='000-000-1234';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.CONTACT_MOBILE ='000-000-1234';
SET OutputRoot.MRM.REQUEST.EMPLOYEE2_DETAILS.CONTACT_EMAILID ='1234567890@yahoo.com';
RETURN TRUE;
END;
CREATE PROCEDURE CopyMessageHeaders() BEGIN
DECLARE I INTEGER;
DECLARE J INTEGER;
SET I = 1;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
END;
CREATE PROCEDURE CopyEntireMessage() BEGIN
SET OutputRoot = InputRoot;
END;
END MODULE;
------------------
here is my Catch trace Exception list message
(
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S600_P\src\DataFlowEngine\ImbMqOutputNode.cpp'
(0x03000000):Line = 782
(0x03000000):Function = 'ImbMqOutputNode::evaluate'
(0x03000000):Type = 'ComIbmMQOutputNode'
(0x03000000):Name = 'Request_MsgFlow#FCMComposite_1_2'
(0x03000000):Label = 'Request_MsgFlow.ReqOutPutQueue'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x03000000):Text = 'Caught exception and rethrowing'
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S600_P\src\MTI\MTIforBroker\MtiImbParser2\MtiImbRMErrorMap.cpp'
(0x03000000):Line = 170
(0x03000000):Function = 'MtiImbRMErrorMap::checkRC'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 5304
(0x03000000):Text = 'RM Dictionary Not Found.'
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '23'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'rmLoadDictionary'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'K3JNR48002001'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = ''
)
)
)
)
-----------------
Here is the trace after compute Node
Trace2:
(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'K3JNR48002001'
(0x03000000):MessageType = 'msg_REQUEST'
(0x03000000):MessageFormat = 'CWF1'
(0x03000000):Encoding = 785
(0x03000000):CodedCharSetId = 37
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2006-04-18 22:50:06.510'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'Request.queue'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 785
(0x03000000):CodedCharSetId = 37
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d51205742524b365f44454641554cf657454420010803'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'WBRK6_DEFAULT_QUEUE_MANAGER '
(0x03000000):UserIdentifier = 'madhu '
(0x03000000):AccountingToken = X'16010515000000a837d66519525f1243170a32eb03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 'gs\madhu\Desktop\rfhutil.exe'
(0x03000000):PutDate = DATE '2006-04-18'
(0x03000000):PutTime = GMTTIME '22:50:06.510'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000021):MRM = (
(0x01000000):REQUEST = (
(0x01000000):COMPANY = (
(0x03000000):NAME = ''
)
(0x01000000):ADDRESS_DETAILS = (
(0x03000000):STREET_NAME = ''
(0x03000000):STATE = ''
(0x03000000):COUNTRY = ''
)
(0x01000000):EMPLOYEE1_DETAILS = (
(0x03000000):NAME_FIRSTNAME = ''
(0x03000000):NAME_MIDDLENAME = ''
(0x03000000):NAME_LASTNAME = ''
(0x03000000):POSITION_TITLE = ''
(0x03000000):SALARY = 75000
(0x03000000):GENDER = ''
(0x03000000):ADDR_STNUMBER = 50
(0x03000000):ADDR_STNAME = ''
(0x03000000):ADDR_CITY = ''
(0x03000000):ADDR_STATE = ''
(0x03000000):ADDR_ZIP = 12345
(0x03000000):CONTACT_HOME = '000-000-1234'
(0x03000000):CONTACT_MOBILE = '000-000-1234'
(0x03000000):CONTACT_EMAILID = '1234567890@yahoo.com'
)
(0x01000000):EMPLOYEE2_DETAILS = (
(0x03000000):NAME_FIRSTNAME = ''
(0x03000000):NAME_MIDDLENAME = ''
(0x03000000):NAME_LASTNAME = ''
(0x03000000):POSITION_TITLE = ''
(0x03000000):SALARY = 75000
(0x03000000):GENDER = ''
(0x03000000):ADDR_STNUMBER = 50
(0x03000000):ADDR_STNAME = ''
(0x03000000):ADDR_CITY = ''
(0x03000000):ADDR_STATE = ''
(0x03000000):ADDR_ZIP = 12345
(0x03000000):CONTACT_HOME = '000-000-1234'
(0x03000000):CONTACT_MOBILE = '000-000-1234'
(0x03000000):CONTACT_EMAILID = '1234567890@yahoo.com'
)
)
)
)
Any help that would be appreciated.
Thanq You,
Bindu |
|
Back to top |
|
 |
bindu |
Posted: Tue Apr 18, 2006 3:31 pm Post subject: WBIMB V6.0 XML to CWF problem |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Here is my input xml message
<?xml version="1.0" encoding="UTF-8"?>
<Request>
<Company>
<Name>Company</Name>
<Address>
<StreetName>Stname</StreetName>
<State>ST</State>
<Country>USA</Country>
</Address>
<Employee>
<Details>
<Name>
<FirstName>firstname</FirstName>
<MiddleName></MiddleName>
<LastName>lastname</LastName>
</Name>
<Position>Programmer Analyst</Position>
<Salary>65000</Salary>
<Gender>M</Gender>
<Address>
<StreetNumber>50</StreetNumber>
<StreetName>stname</StreetName>
<City>city</City>
<State>ST</State>
<ZipCode>12345</ZipCode>
</Address>
<ContactInformation>
<PhoneNumber>
<Home>000-000-1234</Home>
<Mobile>000-000-1234</Mobile>
</PhoneNumber>
<eMailID>1234567890@yahoo.com</eMailID>
</ContactInformation>
</Details>
</Employee>
<Employee>
<Details>
<Name>
<FirstName>firstname</FirstName>
<MiddleName></MiddleName>
<LastName>lastname</LastName>
</Name>
<Position>Programmer Analyst</Position>
<Salary>65000</Salary>
<Gender>F</Gender>
<Address>
<StreetNumber>50</StreetNumber>
<StreetName>stname</StreetName>
<City>city</City>
<State>ST</State>
<ZipCode>12345</ZipCode>
</Address>
<ContactInformation>
<PhoneNumber>
<Home>000-000-1234</Home>
<Mobile>000-000-1234</Mobile>
</PhoneNumber>
<eMailID>1234567890@yahoo.com</eMailID>
</ContactInformation>
</Details>
</Employee>
</Company>
</Request>
Thanq You,
Bindu |
|
Back to top |
|
 |
|