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 » Codepage error in Broker

Post new topic  Reply to topic
 Codepage error in Broker « View previous topic :: View next topic » 
Author Message
superstar
PostPosted: Thu Aug 16, 2007 8:01 pm    Post subject: Codepage error in Broker Reply with quote

Apprentice

Joined: 12 May 2004
Posts: 31

I am trying to test my error sub-flow. I am forcing validation on my input messages by setting vaalidation properties in Input node. In the validation tab I set Validate = "Content and Value" and Failure Action = "ExceptionList". As I get an Exception, the message along with exception goes through Failure terminal to my error sub-flow where I have a compute node some ESQL to generate an XML message. I tried ato play around with the Properties Folder and MQMD a lot. But no help.

If I dont save the Exception List into the output XML, it works. As it was not parsed in the InputNode, may be the broker is unable to understand the characters in the input message. No idea whats going on...

Following is the Exception list and the Code.
Please guide me ...



Code:

REATE COMPUTE MODULE SUB_ERR_CATCH_CHECK_n_PROCESS
   CREATE FUNCTION Main() RETURNS BOOLEAN
   BEGIN


            SET OutputRoot.Properties = InputRoot.Properties;
            SET OutputRoot.MQMD.StrucId = MQMD_STRUC_ID;
            SET OutputRoot.MQMD.MsgId = CAST(x'414141414141414141424242424242424243434343434343' AS BLOB);
            SET OutputRoot.MQMD.CodedCharSetId = InputRoot.MQMD.CodedCharSetId;
            SET OutputRoot.MQMD.Encoding = InputRoot.MQMD.Encoding;
            
            SET OutputRoot.Properties.ReplyIdentifier = MQMI_NONE;
            SET OutputRoot.Properties.ReplyProtocol = 'MQ';
            SET OutputRoot.Properties.MessageFormat = '';
            SET OutputRoot.Properties.MessageSet = '';
            SET OutputRoot.Properties.MessageType = '';
            
            SET OutputRoot.MQMD.CorrelId = MQMI_NONE;
            SET OutputRoot.MQMD.Format = MQFMT_STRING;
            

            SET OutputRoot.XML.ESBError.MQMD = InputRoot.MQMD;
            SET OutputRoot.XML.ESBError.Properties = InputRoot.Properties;
            SET OutputRoot.XML.ESBError.Exception = InputExceptionList;
            SET OutputRoot.XML.ESBError.Environment = Environment;
            SET OutputRoot.XML.ESBError.LocalEnvironment = InputLocalEnvironment;
            SET OutputRoot.XML.ESBError.OtherDetails.MsgFlowName = MessageFlowLabel;
            SET OutputRoot.XML.ESBError.OtherDetails.BrokerName = BrokerName;
            SET OutputRoot.XML.ESBError.OtherDetails.SourceQueue = InputRoot.MQMD.SourceQueue;
            
         RETURN TRUE;
      END IF;
   END;



EXCEPTION LIST


Code:

ExceptionList
RecoverableException
   File = F:\\build\\S600_P\\src\\DataFlowEngine\\ImbDataFlowNode.cpp
   Line = 616
   Function = ImbDataFlowNode::createExceptionList
   Type = ComIbmMQInputNode
   Name = PROPAGATE_MF#FCMComposite_1_1
   Label = PROPAGATE_MF.MQInput
   Catalog = BIPv600
   Severity = 3
   Number = 2230
   Text = Node throwing exception
      RecoverableException
      File = F:\\build\\S600_P\\src\\DataFlowEngine\\ImbMqOutputNode.cpp
      Line = 782
      Function = ImbMqOutputNode::evaluate
      Type = ComIbmMQOutputNode
      Name = PROPAGATE_MF#FCMComposite_1_3
      Label = PROPAGATE_MF.TEST.ERR
      Catalog = BIPv600
      Severity = 3
      Number = 2230
      Text = Caught exception and rethrowing
      ParserException
         File = F:\\build\\S600_P\\src\\MTI\\MTIforBroker\\GenXmlParser2\\XmlImbParser.cpp
         Line = 380
         Function = XmlImbParser::refreshBitStreamFromElements
         Type = ComIbmComputeNode
         Name = PROPAGATE_MF#FCMComposite_1_6.com/mckesson/common/SUB_ERR_CATCH#FCMComposite_1_2
         Label = PROPAGATE_MF.SUB_ERR_CATCH.CHECK_n_PROCESS
         Catalog = BIPv600
         Severity = 3
         Number = 5010
         Text = XML Writing Errors have occurred
         RecoverableException
            File = F:\\build\\S600_P\\src\\CommonServices\\ImbConverter.cpp
            Line = 312
            Function = ImbConverterCPP::internalFromUnicode
            Type =
            Name =
            Label =
            Catalog = BIPv600
            Severity = 3
            Number = 2136
            Text = Unconvertable character
            Insert
               Type = 5
               Text = 9301
            Insert
               Type = 5
               Text = 4e0075006d006200650072003e0035003900300032003c0....
            Insert
               Type = 2
               Text = 437
Back to top
View user's profile Send private message
shalabh1976
PostPosted: Thu Aug 16, 2007 9:06 pm    Post subject: Reply with quote

Partisan

Joined: 18 Jul 2002
Posts: 381
Location: Gurgaon, India

It seems that you are getting some data that cannot be converted to utf.
Can you find out which data that is and then move the same to a CDATA section?
You can also change the encoding on your XML message from utf-8 to some ISO xxxx or EBCDIC value in the XML declaration and see.
_________________
Shalabh
IBM Cert. WMB V6.0
IBM Cert. MQ V5.3 App. Prog.
IBM Cert. DB2 9 DB Associate
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
elvis_gn
PostPosted: Thu Aug 16, 2007 9:28 pm    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi superstar,

Please paste your input message (if it is small, else snippet where you might find a non English char for example)..

What is the incoming CCSID of the message ?

Did you try viewing the incoming message in RFHUtil ? what is the representation there ?

Regards.
Back to top
View user's profile Send private message Send e-mail
superstar
PostPosted: Thu Aug 16, 2007 11:03 pm    Post subject: Reply with quote

Apprentice

Joined: 12 May 2004
Posts: 31

Here is my incoming message.

Code:
<hello>
 <data>nothing</data>
</hello>


And my incoming code pageis 437. Also, I am doing this on my laptop.
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Thu Aug 16, 2007 11:15 pm    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi superstar,

Well, from the look of the input message, the problem doesn't seem to be with any special characters

A few pointers for the code:

1. Don't create a MessageId and CorrelId in the code (especially don't hardcode it), instead simply copy the incoming MessageId to correlId, so that you can locate a specific error msg in a queue with 'n' msgs based on input MsgId.

2. Don't use XML Domain.

3. Usually exception handling flows don't store the MQMD and properties, mainly the Body, irrespective of whether you need it use ASBITSTREAM with CCSID and make the whole thing a string before mapping to the output field.
You will find a lot of good examples on this forum for the same.

Regards.
Back to top
View user's profile Send private message Send e-mail
JYama
PostPosted: Fri Aug 17, 2007 12:26 am    Post subject: Reply with quote

Master

Joined: 27 Mar 2002
Posts: 281

Hi, superstar,

Please have a look at this excellent RedBook as a how-to book on error handling.
http://www.redbooks.ibm.com/abstracts/REDP4043.html?Open

Hope it helps,
Cheers,
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

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