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 » abitstream length error

Post new topic  Reply to topic
 abitstream length error « View previous topic :: View next topic » 
Author Message
scravr
PostPosted: Mon Jan 05, 2009 12:38 pm    Post subject: inhibit get Reply with quote

Partisan

Joined: 03 Apr 2003
Posts: 391
Location: NY NY USA 10021

can anyone see why asbitstream alway get struclength error?


CREATE COMPUTE MODULE FL_WMB_ERROR_FLOW_InhibitGet
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- PCF command to inhibit GET's from input queue.
CALL CopyMessageHeaders();
SET OutputRoot.Properties.Encoding = MQENC_NATIVE;
SET OutputRoot.MQMD.MsgType = MQMT_REQUEST;
SET OutputRoot.MQMD.Format = MQFMT_ADMIN;
SET OutputRoot.MQMD.ReplyToQ = 'Error001';
SET OutputRoot.MQMD.MsgSeqNumber = 1;

/* Command is 'Change Queue: Inhibit GET from queue'. */
CREATE FIELD OutputRoot.MQPCF;
DECLARE PcfQ REFERENCE TO OutputRoot.MQPCF;
SET PcfQ.Type = MQCFT_COMMAND;
SET PcfQ.StrucLength = MQCFH_STRUC_LENGTH;
SET PcfQ.Version = MQCFH_CURRENT_VERSION;
SET PcfQ.Command = MQCMD_CHANGE_Q;
SET PcfQ.MsgSeqNumber = 1;
SET PcfQ.Control = MQCFC_LAST;
SET PcfQ.CompCode = 0;
SET PcfQ.Reason = 0;
SET PcfQ.ParameterCount = 3;

/* First parameter: Queue Name. */
SET PcfQ.Parameter[1] = MQCA_Q_NAME;
SET PcfQ.Parameter[1].* =InputRoot.MQMD.SourceQueue;
/* Second parameter: Queue Type. */
SET PcfQ.Parameter[2] = MQIA_Q_TYPE;
SET PcfQ.Parameter[2].* = MQQT_LOCAL;
/* Third parameter: Allow/Inhibit GET.*/
SET PcfQ.Parameter[3] = MQIA_INHIBIT_GET;
SET PcfQ.Parameter[3].* = MQQA_GET_INHIBITED;

SET OutputRoot.Properties.MessageSet = '';
SET OutputRoot.Properties.MessageType = '';
SET OutputRoot.Properties.MessageFormat = '';

set OutputRoot.BLOB.BLOB = asbitstream(OutputRoot.MQPCF);
set OutputRoot.MQPCF = null;
set OutputRoot.MQRFH2 = null;
RETURN TRUE;
END;



This is OutputRoot.MQPCF:
--------------------------
Type:INTEGER:16
StrucLength:INTEGER:68
Version:INTEGER:3
Command:INTEGER:8
MsgSeqNumber:INTEGER:1
Control:INTEGER:1
CompCode:INTEGER:0
Reason:INTEGER:0
ParameterCount:INTEGER:3
Parameter:INTEGER:2016
SourceQueue:CHARACTER:GET_CLNT_REQ
Parameter:INTEGER:20
INTEGER:1
Parameter:INTEGER:9
INTEGER:1






I am getting this exception list:
----------------------------------
ExceptionList
RecoverableException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbDataFlowNode.cpp
Line:INTEGER:739
Function:CHARACTER:ImbDataFlowNode::createExceptionList
Type:CHARACTER:ComIbmMQInputNode
Name:CHARACTER:MyFlow#FCMComposite_1_1
Label:CHARACTER:MyFlow.ClientQ
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Node throwing exception
RecoverableException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbComputeNode.cpp
Line:INTEGER:464
Function:CHARACTER:ImbComputeNode::evaluate
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:MyFlow#FCMComposite_1_2.SubFlow#FCMComposite_1_13
Label:CHARACTER:MyFlow.SubFlow.StopGet
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
RecoverableException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp
Line:INTEGER:602
Function:CHARACTER:SqlStatementGroup::execute
Type:CHARACTER:ComIbmComputeNode
Name:CHARACTER:MyFlow#FCMComposite_1_2.SubFlow#FCMComposite_1_13
Label:CHARACTER:MyFlow.SubFlow.StopGet
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:2488
Text:CHARACTER:Error detected, rethrowing
Insert
Type:INTEGER:5
Text:CHARACTER:.FL_WMB_ERROR_FLOW_InhibitGet.Main
Insert
Type:INTEGER:5
Text:CHARACTER:45.3
Insert
Type:INTEGER:5
Text:CHARACTER:SET OutputRoot.BLOB.BLOB = ASBITSTREAM(OutputRoot.MQPCF);
ParserException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbMqPcfParser.cpp
Line:INTEGER:1833
Function:CHARACTER:ImbMqpcfParser::writeMqpcf
Type:CHARACTER:ComIbmMQInputNode
Name:CHARACTER:MyFlow#FCMComposite_1_1
Label:CHARACTER:MyFlow.ClientQ
Catalog:CHARACTER:BIPv610
Severity:INTEGER:2
Number:INTEGER:5912
Text:CHARACTER:Exception whilst writing field name
Insert
Type:INTEGER:5
Text:CHARACTER:MQPCF
Insert
Type:INTEGER:5
Text:CHARACTER:StrucLength
Insert
Type:INTEGER:2
Text:CHARACTER:68
ParserException
File:CHARACTER:F:\build\S000_P\src\DataFlowEngine\ImbMqPcfParser.cpp
Line:INTEGER:1766
Function:CHARACTER:ImbMqpcfParser::appendParameterToString
Type:CHARACTER:ComIbmMQInputNode
Name:CHARACTER:MyFlow#FCMComposite_1_1
Label:CHARACTER:MyFlow.ClientQ
Catalog:CHARACTER:BIPv610
Severity:INTEGER:3
Number:INTEGER:6121
Text:CHARACTER:Unrecognised parameter type in PCF message
Insert
Type:INTEGER:5
Text:CHARACTER:StrucLength
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Vitor
PostPosted: Mon Jan 05, 2009 1:16 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Is this connected to this thread?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Jan 05, 2009 3:50 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
can anyone see why asbitstream alway get struclength error?
It would be a lot easier to analyze your problem if you posted the error message, instead of the exception list. The exception list requires everybody to look up the error text in the manuals and then work out where the inserts should go.
Have you taken a trace yet? What else have you tried?
Back to top
View user's profile Send private message
scravr
PostPosted: Tue Jan 06, 2009 5:46 am    Post subject: abitstream length error Reply with quote

Partisan

Joined: 03 Apr 2003
Posts: 391
Location: NY NY USA 10021

The idea is to create a generic MODULE that inhibit-get from the MQInput-node Qname.
Looks like the problem is: asbitstream is parsing based on input msg-set/format/type (which will be different from msg to msg).

How do I eliminate the the parshing based on input?
The msg-set I run has multiple parts with DataPattern. Other msgs may have diff formats.


Here is the trace:
--------------------



2009-01-05 14:59:13.715578 5276 UserTrace BIP2537I: Node 'MyFlow.SubFlow.StopGet': Executing statement ''SET OutputRoot.BLOB.BLOB = ASBITSTREAM(OutputRoot.MQPCF);'' at ('.FL_WMB_ERROR_FLOW_InhibitGet.Main', '45.3').
2009-01-05 15:01:01.607017 5276 Error BIP2232E: Error detected whilst handling a previous error in node 'MyFlow.SubFlow.StopGet'.
The message broker has detected an error in node 'MyFlow.SubFlow.StopGet' whilst handling a previous error.
See the following messages for details of the exception list associated with the original error. Thereafter messages will be associated with the new error.
2009-01-05 15:01:01.607030 5276 ParserException BIP5902W: An error occurred in parser ''Root'' whilst parsing the field named ''MRM'' on behalf of node 'MyFlow.ClientQ'. The data being parsed was ''4d442020020000000000000008000000ffffffff0000000000000000b501000020202020202020200000000001000000414d51205742524b36315f444546415586db614920074402000000000000000000000000000000000000000000000000000000002020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020205742524b36315f44454641554c545f51554555455f4d414e4147455220202020202020202020202020202020202020204d41565248414d202020202016010515000000c78f1c13577513e705ef705f8b04000000000000000000000b20202020202020202020202020202020202020202020202020202020202020200b00000042205246485554494c202d20696830335c7266687574696c2e6578653230303930313035313935383335363720202020000000000000000000000000000000000000000000000000010000000000000000000000ffffffff4c504e444c45483035303635394d7367526566313233343536313233343536373839303132333435363738393031323334353637383930313233343536435553495031323334313233343536373839303132333132333435363738393031323343663038313231383132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536663632656e64303231303030303231313233343536373839303132333435363738393031323334353637383930317831323334353637383930203233343536373839302f32333435363738393049313233343536373839307a323334353637383930203233343536373839304931313131312f31313131313131313131313131313131313131313131313149313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a32333435363738393020323334353637383930363636363636''.
This message gives the name of the field in the parser that was being parsed at the time the error occurred.
You should check for other messages issued with this one for the full context of the error.
2009-01-05 15:01:01.607041 5276 ParserException BIP5285E: Parsing errors have occurred.
Message set name: 'MS_FRMT'
Message format: 'DTS_FRMT'
Message type path: '/MSGT/StreetNumber'
Review other error messages to find the cause of the errors.
2009-01-05 15:01:01.607045 5276 ParserException BIP5421S: Tagged/Delimited String Format (TDS) parsing error
Current message : ''MsgReqType''
Path to current element : ''/MsgReqType/MsgBody/MSGT/MovieNumber''
Offset from start of message : '237'
See following errors for more details.
2009-01-05 15:01:01.607049 5276 ParserException BIP5371E: There was a message validation error. Element or attribute '''' failed to validate. The path to the element is ''/''. The element is defined as a child of a complex type or group that has a content validation setting of 'Closed' and composition ''SEQUENCE''.
Possible causes could be:
1. The child has not been defined as a member of its parent complex type or group.
2. The child has been created out of order in the logical tree, for the ordered compositions ('Ordered Set' or 'Sequence').
3. The child is a duplicate, which is not allowed for a composition of 'Ordered Set' or 'Unordered Set'.
As appropriate:
Modify the message set and redeploy it to the broker.
Modify the message flow and redeploy it to the broker.
Modify the input message and resubmit it to the broker.
2009-01-05 15:04:01.594455 5276 Error BIP2628E: Exception condition detected on input node 'MyFlow.ClientQ'.
The input node 'MyFlow.ClientQ' detected an error whilst processing a message. The message flow has been rolled-back and, if the message was being processed in a unit of work, it will remain on the input queue to be processed again. Following messages will indicate the cause of this exception.
Check the error messages which follow to determine why the exception was generated, and take action as described by those messages.
2009-01-05 15:04:01.594465 5276 RecoverableException BIP2230E: Error detected whilst processing a message in node 'MyFlow.SubFlow.StopGet'.
The message broker detected an error whilst processing a message in node 'MyFlow.SubFlow.StopGet'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2009-01-05 15:04:01.594473 5276 RecoverableException BIP2488E: ('.FL_WMB_ERROR_FLOW_InhibitGet.Main', '45.3') Error detected whilst executing the SQL statement ''SET OutputRoot.BLOB.BLOB = ASBITSTREAM(OutputRoot.MQPCF);''.
The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
See the following messages for details of the error.
2009-01-05 15:04:01.594478 5276 ParserException BIP5912W: Error in parser ''MQPCF'' whilst writing the field named ''StrucLength'' to the bitstream.
This message gives the name of the field in the parser that was being written at the time the error occurred. The parser was trying to write '36' into this field.
You should check for other messages issued with this one for the full context of the error.
2009-01-05 15:04:01.594483 5276 ParserException BIP6121E: Command and Response not valid for Type field of a parameter.
You have specified either Command or Response in the Type field of a Parameter. These two values are only valid for the Type field of the Command not the type field of a parameter.
You should contact the support group responsible for maintaining the application that generated the error, or the support group responsible for your Compute node SQL expression depending on the source of the erroneous message.
2009-01-05 15:04:02.596415 5276 UserTrace BIP6060I: Parser type ''Properties'' created on behalf of node 'MyFlow.ClientQ' to handle portion of incoming message of length 0 bytes beginning at offset '0'.
2009-01-05 15:04:02.597404 5276 UserTrace BIP6061I: Parser type ''MQMD'' created on behalf of node 'MyFlow.ClientQ' to handle portion of incoming message of length '364' bytes beginning at offset '0'. Parser type selected based on value ''MQHMD'' from previous parser.
2009-01-05 15:04:02.601536 5276 UserTrace BIP5616I: '3' bytes from byte '5' were matched using data pattern ''.{3}'' for ''MsgTypeConst''.
2009-01-05 15:04:02.603065 5276 UserTrace BIP5616I: '6' bytes from byte '8' were matched using data pattern ''.{6}'' for ''TransDate''.
...
...
...
...
...
2009-01-05 15:04:02.618762 5276 UserTrace BIP5616I: '31' bytes from byte '176' were matched using data pattern ''.{31}'' for ''StreetNumber''.
2009-01-05 15:04:02.634063 5276 UserTrace BIP5616I: '31' bytes from byte '207' were matched using data pattern ''.{31}'' for ''MovieNumber''.
2009-01-05 15:04:02.636364 5276 Error BIP2646E: Exception condition detected on input node: 'MyFlow.ClientQ'.
Node 'MyFlow.ClientQ' has received a message, but an exception was generated whilst initializing it's internal representation. The failure terminal is attached but previous attempts to successfully process this message down this terminal have failed. The MQMD ''backoutCount'' of the message now equals the ''backoutThreshold'' defined for the WebSphere MQ input queue. Having now reached the ''attempt limit'' for processing the message down the failure terminal, the message broker is now putting the message to the requeue or dead letter backout queue associated with this node.
If 'complete' or 'immediate' MRM message body validation is being applied to messages received by this node, it's possible the format of the body of the received message is invalid. Examine further messages to confirm this. Also, examine previous messages to determine why the exception is not being successfully processed when routed down the failure terminal. Correct these situations if possible. Perform any local error recovery processing required.
2009-01-05 15:04:02.636373 5276 ParserException BIP5902W: An error occurred in parser ''Root'' whilst parsing the field named ''MRM'' on behalf of node 'MyFlow.ClientQ'. The data being parsed was ''4d442020020000000000000008000000ffffffff0000000000000000b501000020202020202020200000000001000000414d51205742524b36315f444546415586db614920074402000000000000000000000000000000000000000000000000010000002020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020205742524b36315f44454641554c545f51554555455f4d414e4147455220202020202020202020202020202020202020204d41565248414d202020202016010515000000c78f1c13577513e705ef705f8b04000000000000000000000b20202020202020202020202020202020202020202020202020202020202020200b00000042205246485554494c202d20696830335c7266687574696c2e6578653230303930313035313935383335363720202020000000000000000000000000000000000000000000000000010000000000000000000000ffffffff4c504e444c45483035303635394d7367526566313233343536313233343536373839303132333435363738393031323334353637383930313233343536435553495031323334313233343536373839303132333132333435363738393031323343663038313231383132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536663632656e64303231303030303231313233343536373839303132333435363738393031323334353637383930317831323334353637383930203233343536373839302f32333435363738393049313233343536373839307a323334353637383930203233343536373839304931313131312f31313131313131313131313131313131313131313131313149313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a3233343536373839302032333435363738393049313233343536373839307a32333435363738393020323334353637383930363636363636''.
This message gives the name of the field in the parser that was being parsed at the time the error occurred.
You should check for other messages issued with this one for the full context of the error.
2009-01-05 15:04:02.636384 5276 ParserException BIP5285E: Parsing errors have occurred.
Message set name: 'MS_FRMT'
Message format: 'DTS_FRMT'
Message type path: '/MSGT/StreetNumber'
Review other error messages to find the cause of the errors.
2009-01-05 15:04:02.636389 5276 ParserException BIP5421S: Tagged/Delimited String Format (TDS) parsing error
Current message : ''MsgReqType''
Path to current element : ''/MsgReqType/MsgBody/MSGT/MovieNumber''
Offset from start of message : 237
See following errors for more details.
2009-01-05 15:04:02.636394 5276 ParserException BIP5371E: There was a message validation error. Element or attribute '''' failed to validate. The path to the element is ''/''. The element is defined as a child of a complex type or group that has a content validation setting of 'Closed' and composition ''SEQUENCE''.
Possible causes could be:
1. The child has not been defined as a member of its parent complex type or group.
2. The child has been created out of order in the logical tree, for the ordered compositions ('Ordered Set' or 'Sequence').
3. The child is a duplicate, which is not allowed for a composition of 'Ordered Set' or 'Unordered Set'.
As appropriate:
Modify the message set and redeploy it to the broker.
Modify the message flow and redeploy it to the broker.
Modify the input message and resubmit it to the broker.
2009-01-05 15:04:02.636720 5276 UserTrace BIP2638I: The MQ output node 'MyFlow.ClientQ' attempted to write a message to queue ''Backout001'' connected to queue manager ''WBRK61_DEFAULT_QUEUE_MANAGER''. The MQCC was '0' and the MQRC was '0'.
2009-01-05 15:04:02.636733 5276 UserTrace BIP2615I: The WebSphere MQ input node 'MyFlow.ClientQ' has backed out the message to the backout requeue or the dead letter queue.
Message backout processing has been invoked, and the message has either been backed out by being written to the backout requeue or dead letter queue, as determined by the WebSphere MQ queue manager and queue configuration.
No user action required.
2009-01-05 15:04:30.114616 3324 UserTrace BIP2632I: Message received and propagated to 'out' terminal of MQ input node 'ConfigurationMessageFlow.InputNode'.
2009-01-05 15:04:30.115493 3324 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'.
2009-01-05 15:04:30.115787 3324 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.
Back to top
View user's profile Send private message Send e-mail MSN Messenger
kimbert
PostPosted: Tue Jan 06, 2009 6:21 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

I don't understand. This is nothing to do with the original problem. You seem to have forgotten your MQPCF problem, and started talking about an MRM validation problem.
Back to top
View user's profile Send private message
scravr
PostPosted: Tue Jan 06, 2009 6:31 am    Post subject: abitstream length error Reply with quote

Partisan

Joined: 03 Apr 2003
Posts: 391
Location: NY NY USA 10021

well, trace show 2 errors:
1. parsing orig msg error
2. StrucLength

it should not try to reparse !
i do not see where is the leng erro !
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » abitstream length error
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.