Author |
Message
|
anadin |
Posted: Wed Sep 25, 2002 1:46 am Post subject: MQAO with MQSI |
|
|
Novice
Joined: 19 Aug 2002 Posts: 16
|
Hello Guys,
I'm using MQAO (MQ Adapter offering) to write my source and target adapters. I want to use MQSI in between src and target for content based routing.
The problem i'm facing is, MQAO sending message in MQHRF2 format and MQSI understands MQRFH2 format.
Is there any mistake i've done ? becoz MQSI is not able to read a message.
Could neone help me in this ?
Thans in advance
cheers,
anadin |
|
Back to top |
|
|
kirani |
Posted: Wed Sep 25, 2002 8:00 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
anadin,
anadin wrote: |
Is there any mistake i've done ? becoz MQSI is not able to read a message.
|
Plese explain more about the problem. Are you pointing to the correct input queue? First make sure if your source adapter is generating message. You can do this by writing message to some dummy queue and then browse the queue using MQSeries Explorer or MQJExplorer tool. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
|
anadin |
Posted: Fri Sep 27, 2002 12:19 am Post subject: |
|
|
Novice
Joined: 19 Aug 2002 Posts: 16
|
hello...
The problem is, the src adapter is sending a msg to a queue which triggers the msg flow of MQSI.
MQSI flow has 4 nodes..
MQInput -> Filter -->(true) -->Compute --> MQOutput
Now the problem is it's able to filter msg clearly. But when i try to construct output msg in Compute Node, it throws a parser error.
I tried to put a Trace node and tried to get the value of Root, it's showing them perfectly.
Wht could be the problem?
I'm using XML msg domain.
Sample Body.XML is...
(
(0x5000018)XML = (
(0x6000011) = '1.0'
(0x6000014) = 'no'
)
(0x5000020)claim = (
(0x6000008) = 'LossDetail.dtd'
(0x5000022) =
)
(0x1000000)claim = (
(0x1000000)policyNo = (
(0x2000000) = 'V100001NN01'
)
(0x1000000)polprod_no = (
(0x2000000) = '0000073700'
)
(0x1000000)LossDate = (
(0x2000000) = '02/21/01'
)
(0x1000000)LossTime = (
(0x2000000) = '1:10PM'
)
(0x1000000)CauseCode = (
(0x2000000) = '11'
)
)
)
In the Compute Node, i've written
1) Copy msg headers,
2)SET OutputRoot.XML.MPL = 1000;
Could u help me in this ? |
|
Back to top |
|
|
kirani |
Posted: Fri Sep 27, 2002 10:13 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Since you didn't post ExceptionList here, it is difficult to findout which node is throwing an Exception.
To capture the ExceptionList in your message flow attach a Trace node to the catch terminal of MQInput node and print ${ExceptionList} in it. Write the output trace to some file.
After you get this error pl post the constaints of your trace file here.
Is it possible to post your input XML message here? _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
|
anadin |
Posted: Fri Sep 27, 2002 8:03 pm Post subject: |
|
|
Novice
Joined: 19 Aug 2002 Posts: 16
|
Exception list shows...
(
(0x1000000)RecoverableException = (
(0x3000000)File = 'F:/build/S000_P/src/DataFlowEngine/ImbDataFlowNode.cpp'
(0x3000000)Line = 538
(0x3000000)Function = 'ImbDataFlowNode::createExceptionList'
(0x3000000)Type = 'ComIbmComputeNode'
(0x3000000)Name = '9b0d938a-f000-0000-0080-e244042a9a84'
(0x3000000)Label = 'LossNotification.Compute1'
(0x3000000)Text = 'Node throwing exception'
(0x3000000)Catalog = 'MQSIv201'
(0x3000000)Severity = 3
(0x3000000)Number = 2230
(0x1000000)ParserException = (
(0x3000000)File = 'F:/build/S000_P/src/DataFlowEngine/ImbMqRfh2Parser.cpp'
(0x3000000)Line = 907
(0x3000000)Function = 'ImbMqrfh2Parser::parseNextItem'
(0x3000000)Type = 'ComIbmMQInputNode'
(0x3000000)Name = '4327ce7b-f000-0000-0080-e244042a9a84'
(0x3000000)Label = 'LossNotification.MQInput1'
(0x3000000)Text = 'Exception whilst reading field named'
(0x3000000)Catalog = 'MQSIv201'
(0x3000000)Severity = 2
(0x3000000)Number = 5902
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'MQRFH2'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'FolderData'
)
(0x1000000)ParserException = (
(0x3000000)File = 'F:/build/S000_P/src/DataFlowEngine/ImbMqRfh2Parser.cpp'
(0x3000000)Line = 873
(0x3000000)Function = 'ImbMqrfh2Parser::parseNextItem'
(0x3000000)Type = 'ComIbmMQInputNode'
(0x3000000)Name = '4327ce7b-f000-0000-0080-e244042a9a84'
(0x3000000)Label = 'LossNotification.MQInput1'
(0x3000000)Text = 'The error occured in the option buffer at offset'
(0x3000000)Catalog = 'MQSIv201'
(0x3000000)Severity = 3
(0x3000000)Number = 6048
(0x1000000)Insert = (
(0x3000000)Type = 2
(0x3000000)Text = '732'
)
(0x1000000)ParserException = (
(0x3000000)File = 'F:/build/S000_P/src/DataFlowEngine/ImbMqRfh2Parser.cpp'
(0x3000000)Line = 1188
(0x3000000)Function = 'ImbMqRfh2Parser::goToNameEnd'
(0x3000000)Type = 'ComIbmMQInputNode'
(0x3000000)Name = '4327ce7b-f000-0000-0080-e244042a9a84'
(0x3000000)Label = 'LossNotification.MQInput1'
(0x3000000)Text = 'Syntax Error in RFH2 name'
(0x3000000)Catalog = 'MQSIv201'
(0x3000000)Severity = 2
(0x3000000)Number = 6050
(0x1000000)Insert = (
(0x3000000)Type = 2
(0x3000000)Text = '21'
)
)
)
)
)
)
-----------
Actually the MQSeries Adapter builder is putting message in queue.
It's in the MQRFH2 format. I can't get the exact string from the queue since it's only shown in binary format.. |
|
Back to top |
|
|
kirani |
Posted: Sun Sep 29, 2002 7:38 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Add a Trace node after your MQInput node and print ${Root.MQRFH2} in it, write the trace output to some file and post the contents here. This will tell you where exactly header is incorrect. Current header generated by MQAO is not correct, its throwing BIP6050 error. The error desc is ..
Quote: |
There is a syntax error in the folder at offser 21. A tag name was terminated with an invalid char.
|
_________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
|
anadin |
Posted: Sun Sep 29, 2002 9:16 pm Post subject: |
|
|
Novice
Joined: 19 Aug 2002 Posts: 16
|
I tried to put a ${Root.MQRFH2} in trace list. But it seems it's not able to form a Root element also...
The XML i'm sending is
<?xml version="1.0" standalone="no" ?><!DOCTYPE claim SYSTEM "LossDetail.dtd" ><
claim><policyNo>V0000448JO00</policyNo><polprod_no>0000061700</polprod_no><LossDate>05/27/02</LossDate><LossTime>1:10PM</LossTime><CauseCode>11</CauseCode></claim>
I tried to read the msg from queue using JMS.
IT's working fine..
Wht could be the problem then ?
And i can't debug a adapter right ? |
|
Back to top |
|
|
|