|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Exception while calling getGlobalEnvironment() in a JCN |
« View previous topic :: View next topic » |
Author |
Message
|
nthepak |
Posted: Mon Nov 17, 2008 2:35 am Post subject: Exception while calling getGlobalEnvironment() in a JCN |
|
|
 Voyager
Joined: 19 Dec 2005 Posts: 79 Location: India
|
Hi All,
I am getting a 'Structure id mismatch at offset' exception from 'ImbMqmdParser::refreshElementsFromBitStream' parser in the below code when the control reaches getGlobalEnvironment() method:
public void evaluate(MbMessageAssembly contact admin) throws MbException {
MbMessage inMessage = contact admin.getMessage();
//get the terminals
MbOutputTerminal out = getOutputTerminal("out");
MbOutputTerminal alt = getOutputTerminal("alternate");
//create output message
MbMessage outMessage = new MbMessage(inMessage);
copyMessageHeaders(inMessage, outMessage);
MbMessage outEnv = new MbMessage(contact admin.getGlobalEnvironment());
MbMessage outLEnv = new MbMessage(contact admin.getLocalEnvironment());
//build output assembly
MbMessageAssembly outAssembly = new MbMessageAssembly(contact admin,outLEnv,outEnv,outMessage);
//generate monitoring string
MonitoringData data = new MonitoringData();
MbElement rootElement = outAssembly.getGlobalEnvironment().getRootElement();
// Get the Monitoring Data Field Names from the Environment Variables
MbElement componentName = rootElement.getFirstElementByPath("/Variables/LoggingInfo/componentName");
String COMPNAME = (String)componentName.getValue();
.
.
.
******Please find the exception tree as given below:
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S600_P\src\DataFlowEngine\ImbDataFlowNode.cpp'
(0x03000000):Line = 616
(0x03000000):Function = 'ImbDataFlowNode::createExceptionList'
(0x03000000):Type = 'ComIbmJniNode'
(0x03000000):Name = 'P10_ODIN_FLOW1#FCMComposite_1_7.P10_ODIN_LogMsg_SUBFLOW#FCMComposite_1_2'
(0x03000000):Label = 'P10_ODIN_FLOW1.P1.LogMonitorMsg'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x03000000):Text = 'Node throwing exception'
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S600_P\src\DataFlowEngine\ImbMqmdParser.cpp'
(0x03000000):Line = 129
(0x03000000):Function = 'ImbMqmdParser::refreshElementsFromBitStream'
(0x03000000):Type = 'ComIbmJniNode'
(0x03000000):Name = 'P10_ODIN_FLOW1#FCMComposite_1_7.P10_ODIN_LogMsg_SUBFLOW#FCMComposite_1_2'
(0x03000000):Label = 'P10_ODIN_FLOW1.P1.LogMonitorMsg'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2162
(0x03000000):Text = 'Structure id mismatch at offset'
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '0'
*****Has anybody come accross this kind of scenario, if so then please help me out in solving this  _________________ BR,
Deepak N |
|
Back to top |
|
 |
rekarm01 |
Posted: Mon Nov 17, 2008 6:56 pm Post subject: Re: Exception while calling getGlobalEnvironment() in a JCN |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
I think there's a problem here:
Code: |
//create output message
MbMessage outMessage = new MbMessage(inMessage);
copyMessageHeaders(inMessage, outMessage); |
The first statement is essentially equivalent to ESQL "Set OutputRoot = InputRoot;". That includes copying the message headers.
It's likely that the subsequent call to copyMessageHeaders() is appending a duplicate set of headers after the message body, and it's likely that that's the cause of the MQMD ParserException.
There's also a problem here:
Code: |
//build output assembly
MbMessageAssembly outAssembly = new MbMessageAssembly(contact admin,outLEnv,outEnv,outMessage); |
The expected arguments in this MbMessageAssembly constructor are:
Code: |
MbMessageAssembly(contact admin, localEnvironment, exceptionList, message); |
The use of "globalEnvironment" as an argument is deprecated. |
|
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
|
|
|
|