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 IndexWebSphere Message Broker SupportIIB10 - Could not create parser

Post new topicReply to topic
IIB10 - Could not create parser View previous topic :: View next topic
Author Message
Harsha_AS
PostPosted: Thu Feb 28, 2019 6:35 pm Post subject: IIB10 - Could not create parser Reply with quote

Apprentice

Joined: 04 Dec 2011
Posts: 26

I am getting "Could not create parser" when I am trying to delete the previous tree (DELETE FIELD previousRecord;). Below is the Code snippet. Could someone please let me know if I am doing anything wrong here.

Code:
          DECLARE inCCSID, inEncoding INT;
          DECLARE inSet, inType, inFormat CHAR;
          SET inCCSID = InputRoot.Properties.CodedCharSetId;
            SET inEncoding = InputRoot.Properties.Encoding;
         
            DECLARE msgBitstream BLOB ASBITSTREAM(InputBody, inEncoding, inCCSID);
               CREATE FIELD Environment.Variables;
               CREATE LASTCHILD OF Environment.Variables DOMAIN('JSON') PARSE(msgBitstream, inEncoding, inCCSID);
             DECLARE currentRecord REFERENCE TO Environment.Variables.JSON.Data.responseDetails.Item[1];
             DECLARE previousRecord REFERENCE TO Environment.Variables.JSON.Data.responseDetails.Item[1];
         WHILE LASTMOVE(currentRecord) DO
            SET queryValue             = currentRecord.queryValue;
            SET triggerTypeId          = currentRecord.triggerTypeId;
            PASSTHRU ('INSERT INTO ABC.DEF_GHI_JKL (APP_CODE, ACCT_ID, TRIGGER_TYPE_ID) VALUES ('''||'RTP'||''','''||queryValue||''','''||triggerTypeId ||''')');         
             MOVE previousRecord TO currentRecord;
             MOVE currentRecord NEXTSIBLING NAME 'Item';
             [b]DELETE FIELD previousRecord;[/b]
            END WHILE;
Back to top
View user's profile Send private message Send e-mail
rekarm01
PostPosted: Fri Mar 01, 2019 9:57 am Post subject: Re: IIB10 - Could not create parser Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1350

Harsha_AS wrote:
Could someone please let me know if I am doing anything wrong here.

For one thing, if the code were well-formatted, then [code] tags would make it easier to read.

Harsha_AS wrote:
I am getting "Could not create parser" when I am trying to delete the previous tree (DELETE FIELD previousRecord;).

A usertrace should provide a more complete error message. Does setting the field to NULL instead work any better?

Code:
SET previousRecord = NULL;
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Mar 01, 2019 8:56 pm Post subject: Reply with quote

Grand Poobah

Joined: 18 Nov 2003
Posts: 19945
Location: LI,NY

Have you considered that when running the DELETE FIELD in the snippet below
Code:
MOVE previousRecord TO currentRecord;
             MOVE currentRecord NEXTSIBLING NAME 'Item';
             [b]DELETE FIELD previousRecord;[/b]
            END WHILE;

that you might be trying to delete the currentRecord because the MOVE NEXT SIBLING failed??
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Harsha_AS
PostPosted: Sat Mar 02, 2019 4:41 pm Post subject: Reply with quote

Apprentice

Joined: 04 Dec 2011
Posts: 26

I ran the user trace and I see the below details. (The integration node is not capable of handling a message of data type ''''. )

NO, MOVE NEXT SIBLING is not failing. What I am suspecting is we cannot delete a FIELD when we are dealing with JSON message format. This will only work when we are dealing with XML or DFDL formats.

Inputs and help will be appreciated.


2019-03-02 19:28:06.697884 30094 >> SqlStatementGroup::execute file:/build/S1000_slot1/S1000_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp line:792 message:2488.BIPmsgs 'Error detected, rethrowing' , '.insertRecordsToDB.Main', '69.4', 'WHILE LASTMOVE(currentRecord) DO ... END WHILE;',
2019-03-02 19:28:06.697884 30094 >> RecoverableException BIP2488E: ('.insertRecordsToDB.Main', '69.4') Error detected whilst executing the SQL statement ''WHILE LASTMOVE(currentRecord) DO ... END WHILE;''.
The integration node 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.
2019-03-02 19:28:06.697888 30094 >> ImbMessageGroup::createParser file:/build/S1000_slot1/S1000_P/src/DataFlowEngine/MessageServices/ImbMessageGroup.cpp line:201 message:2310.BIPmsgs 'Could not create parser' , '',
2019-03-02 19:28:06.697888 30094 >> RecoverableException BIP2310E: The integration node is not capable of handling a message of data type ''''.
The integration node received a message that requires the handling of data of type '''', but the integration node does not have the capability to handle data of this type.
Check both the message being sent to the integration node and the configuration data for the node. References to the unsupported data type must be removed if the message is to be processed by the integration node.
Back to top
View user's profile Send private message Send e-mail
fjb_saper
PostPosted: Sun Mar 03, 2019 10:40 am Post subject: Reply with quote

Grand Poobah

Joined: 18 Nov 2003
Posts: 19945
Location: LI,NY

Harsha_AS wrote:
I ran the user trace and I see the below details. (The integration node is not capable of handling a message of data type ''''. )

NO, MOVE NEXT SIBLING is not failing. What I am suspecting is we cannot delete a FIELD when we are dealing with JSON message format. This will only work when we are dealing with XML or DFDL formats.

Inputs and help will be appreciated.


2019-03-02 19:28:06.697884 30094 >> SqlStatementGroup::execute file:/build/S1000_slot1/S1000_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp line:792 message:2488.BIPmsgs 'Error detected, rethrowing' , '.insertRecordsToDB.Main', '69.4', 'WHILE LASTMOVE(currentRecord) DO ... END WHILE;',
2019-03-02 19:28:06.697884 30094 >> RecoverableException BIP2488E: ('.insertRecordsToDB.Main', '69.4') Error detected whilst executing the SQL statement ''WHILE LASTMOVE(currentRecord) DO ... END WHILE;''.
The integration node 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.
2019-03-02 19:28:06.697888 30094 >> ImbMessageGroup::createParser file:/build/S1000_slot1/S1000_P/src/DataFlowEngine/MessageServices/ImbMessageGroup.cpp line:201 message:2310.BIPmsgs 'Could not create parser' , '',
2019-03-02 19:28:06.697888 30094 >> RecoverableException BIP2310E: The integration node is not capable of handling a message of data type ''''.
The integration node received a message that requires the handling of data of type '''', but the integration node does not have the capability to handle data of this type.
Check both the message being sent to the integration node and the configuration data for the node. References to the unsupported data type must be removed if the message is to be processed by the integration node.

Your error points to your while loop.
In your while loop you move to the next sibling and something blows up in that loop. You need to look at all the siblings and find out which one is blowing up and why. It looks like this might be related to your data?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
rekarm01
PostPosted: Sun Mar 03, 2019 12:12 pm Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1350

Harsha_AS wrote:
I ran the user trace and I see the below details. (The integration node is not capable of handling a message of data type ''''. )

It looks like the message flow could not even enter the while loop for some reason. It could help to also see the portion of usertrace leading up to the while loop (starting at least from the "CREATE LASTCHILD statement ... "). It might also help to comment out the while loop, and add a Trace node to parse the Environment.Variables subtree; that would either confirm or rule out a problem with the while loop itself.

The CREATE statement looks ok as-is, but the parentheses in the DOMAIN clause aren't necessary; more explicit NAME and PARSE clauses are also unnecessary, but shouldn't hurt either:

Code:
CREATE LASTCHILD OF Environment.Variables DOMAIN 'JSON' NAME 'JSON' PARSE(msgBitstream ENCODING inEncoding CCSID inCCSID);
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexWebSphere Message Broker SupportIIB10 - Could not create parser
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.