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 » JDBC Adapter - WBIMB parsing errors

Post new topic  Reply to topic
 JDBC Adapter - WBIMB parsing errors « View previous topic :: View next topic » 
Author Message
wbiadp
PostPosted: Wed Aug 17, 2005 5:58 am    Post subject: JDBC Adapter - WBIMB parsing errors Reply with quote

Newbie

Joined: 17 Aug 2005
Posts: 9

This is in regards with JDBC Adapter v2.6 integration with WBI MB v5

In my scenario, I have a JDBC adapter sending out a BO (BOMYUSERS) to Msg Broker v5.

I created the BO and deployed it into the broker workspace as a Message Set using the System Manager tool. Used ‘CwXML’ as wire format for the message set and created a message flow to read and transform from an input queue.

Using the virtual test connector, I sent out a message to the broker and now the broker fails with the parsing errors at input node.

Quote:
( WBRK_BROKER.default ) An exception has been detected while parsing.

The message identifier in the bitstream ('BOMYUSERS:BOMYUSERS') differs from the expected message identifier ('BOMYUSERS').

The body of the input message contains a message identifier (e.g the outermost tag of an XML message). The message identifier has also been specified in a header (e.g. RFH2) or in the properties of an input node. The two identifiers do not match. Fix the problem and resend the message.

---------------------------------------

( WBRK_BROKER.default ) Message Translation Interface Parsing Errors have occurred:
Message Set Name : 'UserUpdateMsgSet'
Message Set Level : '1'
Message Format : 'CwXML'
Message Type Path : 'BOMYUSERS'


How to make the message identifiers same? It’s the same BO that got deployed as a msg set ……eh

Here is the BO:

Quote:
[Time: 2005/08/17 03:16:29.719] [System: ConnectorAgent] [SS: myJDBCConnector]
Thread: Thread-3 (#1086331402)] [Type: Info] [MsgID: 17051] [Mesg: The connecto
agent myJDBCConnector is running in background mode.]
Sent Async BO ...
<StartHeader>
<Version = 3.0>
<EndHeader>
<StartBO:BOMYUSERS>

BusinessObject = BOMYUSERS
Verb = Create
Locale = en

USER = john doe
ORGANIZATION = ibm
ObjectEventId = CxIgnore

<EndBO:BOMYUSERS>


let me know how to solve this ....... or point me the place where i can find good document on integration of JDBC-WBIMB.

Thanks in advance ..............
Back to top
View user's profile Send private message
chanduy9
PostPosted: Wed Aug 17, 2005 10:11 am    Post subject: Reply with quote

Disciple

Joined: 28 Nov 2001
Posts: 177
Location: USA

Hi,

Why u want to use CwXML, the is BOs are in XML, you can used direct XML mapping..and you have to map the fileds as shown below:
InputRoot.XML."BOMYUSERS:BOMYUSERS".

You have to used double quotes in the InputRoot or OutputRoot (when you are creating BO) for the filed names where ever you have :


GoodLuck
Thanks,
Chandra.
_________________
Chandra,
IBM WebSphere MQ Certified.
Back to top
View user's profile Send private message
recallsunny
PostPosted: Wed Aug 17, 2005 11:58 am    Post subject: Reply with quote

Disciple

Joined: 15 Jun 2005
Posts: 163
Location: Massachusetts

chanduy9 wrote:
Hi,
Why u want to use CwXML, the is BOs are in XML, you can used direct XML mapping..and you have to map the fileds as shown below:
InputRoot.XML."BOMYUSERS:BOMYUSERS".

You have to used double quotes in the InputRoot or OutputRoot (when you are creating BO) for the filed names where ever you have :

GoodLuck
Thanks,
Chandra.


You may not be aware of this, but the business objects generated for the Integration broker are represented as CwXML format in the Connector configuration and they are namespace enabled.

And using double quotes is not the solution for a Namespace. You need to declare the Namespace Or use a * for wildcard.
Code:

DECLARE ns01 NAMESPACE 'http://www.ns01.com'

SET OutputRoot.MRM.Element1 = InputBody.ns01:Element1;
Or
SET OutputRoot.MRM.Element1 = InputBody.*:Element1;


This doesn;t solve the problem mentioned by "wbiadp"
Back to top
View user's profile Send private message
chanduy9
PostPosted: Wed Aug 17, 2005 12:22 pm    Post subject: Reply with quote

Disciple

Joined: 28 Nov 2001
Posts: 177
Location: USA

Quote:

[You may not be aware of this, but the business objects generated for the Integration broker are represented as CwXML format in the Connector configuration and they are namespace enabled.

And using double quotes is not the solution for a Namespace. You need to declare the Namespace Or use a * for wildcard.
]



We never deployed any CwXML message sets to the broker..and here is the sample code which I used to create the BO..by the way it is in production now,


This is to generate the BO XML from WBIMB,

CREATE COMPUTE MODULE "IRS_ProductLineOAG_ODS_Map_ProductLine_OAGIS_to_ODS"
CREATE FUNCTION main() RETURNS BOOLEAN BEGIN
DECLARE I INTEGER;
SET I = 1;
WHILE I < CARDINALITY(InputRoot.*[]) DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I=I+1;
END WHILE;
-- Enter SQL below this line. SQL above this line might be regenerated, causing any modifications to be lost.


SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER".(XML.attr)"xmlns:PRODUCTLINEHEADER" = 'http://www.ibm.com/websphere/crossworlds/2002/BOSchema/PRODUCTLINEHEADER';
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER".(XML.attr)"xmlns:xsi" = 'http://www.w3.org/2001/XMLSchema-instance';
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER".(XML.attr)"xsi:schemaLocation" = 'http://www.ibm.com/websphere/crossworlds/2002/BOSchema/PRODUCTLINEHEADER file:PRODUCTLINEHEADER.xsd';
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER".(XML.attr)verb = 'Create';






SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:PRODUCTLINEID" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.ProductLineId;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:DESCRIPTION" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.Description;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:SALESACCOUNT" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.SalesAccount;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:INVENTORYACCOUNT" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.InventoryAccount;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:WIPACCOUNT" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.WIPAccount;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:COGSACCOUNT" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.COGSAccount;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:PURCHASESACCOUNT" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.PurchasesAccount;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:SCRAPACCOUNT" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.ScrapAccount;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:INVENTORYDISCREPACCOUNT" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.InventoryDiscrepAccount;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:SALESCC" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.SalesCC;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:INVENTORYCC" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.InventoryCC;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:WIPCC" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.WIPCC;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:COGSCC" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.COGSCC;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:PURCHASESCC" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.PurchasesCC;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:SCRAPCC" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.ScrapCC;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:INVENTORYDISCREPCC" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.InventoryDiscrepCC;
SET OutputRoot.XML."PRODUCTLINEHEADER:PRODUCTLINEHEADER"."PRODUCTLINEHEADER:POPRICEVARIANCEACCOUNT" =InputRoot.XML.SyncProductLine.DataArea.ProductLine.Header.POPriceVarianceAccount;

_________________
Chandra,
IBM WebSphere MQ Certified.
Back to top
View user's profile Send private message
recallsunny
PostPosted: Wed Aug 17, 2005 12:52 pm    Post subject: Reply with quote

Disciple

Joined: 15 Jun 2005
Posts: 163
Location: Massachusetts

chanduy9 wrote:
We never deployed any CwXML message sets to the broker..and here is the sample code which I used to create the BO..by the way it is in production now


Looks like You are using way we do it in WMQI v2.1, The newer version supports namespaces and there can be declared as I have suggested.

As the discussion is about WBI MB v5, the suggested way of accessing the XMLNS enabled MRM messages is to declare the 'BOMYUSERS' namespace prior to using it within your ESQL.

Capture the message from the Adapter and use it to declare NS before you use it in the esql.
Back to top
View user's profile Send private message
kishoreraju
PostPosted: Thu Aug 18, 2005 3:05 am    Post subject: Reply with quote

Disciple

Joined: 30 Sep 2004
Posts: 156

try to deploy the message set once again. when u r deploying the message set don't deploy it directly into the Message broker workspce.because we get the problem with the lenght of the name space.
select some other directory and deploy it ot that directory and import into the message broker direcory.


aafter importing the message set add physical fromat XML and u have to name it according to the name that u have given in Adapter standad properties.

coming to the message set properties check supress doc type defination(bec message broker did't allow doc typpe def in XML).

finally check that the incoming message is compatable with message set.
Back to top
View user's profile Send private message
wbiadp
PostPosted: Thu Aug 18, 2005 11:26 am    Post subject: Reply with quote

Newbie

Joined: 17 Aug 2005
Posts: 9

Many Thanks chandra,recallSunny,kishoreraju.............
i figured that name space settings for msg set was not set. I fixed it and it worked like a charm.
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 » JDBC Adapter - WBIMB parsing errors
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.