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 » Multipart Message XML to TDS issue

Post new topic  Reply to topic
 Multipart Message XML to TDS issue « View previous topic :: View next topic » 
Author Message
martc
PostPosted: Fri Feb 02, 2007 2:33 pm    Post subject: Multipart Message XML to TDS issue Reply with quote

Apprentice

Joined: 23 Mar 2005
Posts: 39

Configuration: WBI 6.0, WIN

The problem I'm having is the embedded message TDS format does not display the Tag I set it in the Field identification details. Instead it is the XML name that is being displayed.

Addiotnal Info:

The input message is XML (with namespaces) and my objective is to render it in TDS. The envelope message is nicely being displayed with the correct Tag but when the embedded message fields start, the XML name is rendered instead of the tags I set under the TDS1 physical format. I have set all the Complex Type fields as Tagged Delimited with : and = as the delimiter and separator and this works nicely. The Content of the Body element which is the placeholder for the embedded message is set to Content Composition=message and validation=closed.

Could this be that it still cant distinguish the embedded message? In the trace I see:

<UserTrace timestamp="2007-02-02 18:22:24.889411" thread="2744" function="MtiImbFIHandler::startElement" type="" name="" label="" text="&apos;Message, element or attribute is self-defining.&apos;" catalog="BIPv600" number="5493" file="F:\build\S600_P\src\MTI\MTIforBroker\MtiImbParser2\MtiImbFIHandler.cpp" line="1410">
<Insert type="string">&apos;AppId&apos;</Insert>
<Insert type="string">&apos;http://middleware.frk.com/XMLSchemas/CaseMgmtOpenCase/v100:CaseMgmt.OpenCase.Request&apos;</Insert>


'Message, element or attribute is self-defining' on all the embedded message fields but not the envelope fields. My experience (limited as it is) when this occurs is that it would throw an exception when writing out to TDS, but in this case is actually writes out in TDS.




Any ideas would be great.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Feb 02, 2007 5:04 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Let's make sure we're clear on a thing or two.

You can't use embedded messaging or multipart messaging to embed an MRM-TDS message in an MRM-XML message.

If the content type of your MRM-XML message is not "Closed", then you are explicitly allowing self-defining content.

If the namespaces and etc. of the input message do not exactly match the MRM-XML, then they will be dealt with as self-defining content if that is allowed.

So, what is your situation in relation to that?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
kimbert
PostPosted: Sat Feb 03, 2007 12:46 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

You need to solve this problem in two stages
1. Get the XML parsing correct
2. Get the TDS output correct

You are stuck on 1. at the moment. Do not even try to get the TDS output correct until you get rid of the BIP5493 messages. I expect your message definition does not match your input message, but you probably knew that already. I cannot make any other suggestions without more details.
Quote:
The Content of the Body element which is the placeholder for the embedded message is set to Content Composition=message and validation=closed.
You could try replacing element 'Body' with a group. Maybe the embedded message defines a root element with XML Name of 'Body', so your message definition might be causing the parser to expect ...<Body><Body>...
Back to top
View user's profile Send private message
martc
PostPosted: Mon Feb 05, 2007 12:33 pm    Post subject: Reply with quote

Apprentice

Joined: 23 Mar 2005
Posts: 39

Thanks Jeff and Kimbert for your replies. As always your replies are appreciated as they point me in the right direction.

Just to reply to some of Jeff's questions:


You can't use embedded messaging or multipart messaging to embed an MRM-TDS message in an MRM-XML message.

If I understood your question correctly the answer is: I'm not. The outer and embedded messages are both xml. Both with their respective namespaces.

If the content type of your MRM-XML message is not "Closed", then you are explicitly allowing self-defining content.

It is 'closed' and it is set to ‘message’ as its composition.

The good news is I got it to work. This is what I did:

1: After importing the xsd’s to the messageset project, I created separate mxsd's for the envelope (outer) and the embedded message.
2: I added an 'Import' into the envelope (outer) msxd the embedded msxd.
3. Working with the embeded msxd I gave the message an alias, which is the same name used as a new message I added to the SoapEnvelope mxsd (outer msxd)
4. Working with the outer msxd I created a type that had an element reference to the embedded message. When I did this, it automatically assigned a prefix to the namespace of the embedded msxd 'Q1'.
5. In conjunction with my no. 3 above I created a message in the outer msxd and called the message the alias name of the embedded message and gave it a type in step 4.

After doing all this it recognized the embedded message and my TDS representations on BOTH outer and inner messages come out as I have defined them in the Tag field identification. Similarly, no BIP5493 in the trace

My problem was (as Kimbert alluded) the modeling of the message, getting the parser to recognize the embedded message and parse it correctly. I know that this is almost always 90% of the problem

Thanks
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 » Multipart Message XML to TDS issue
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.