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 » MRM to XML attributes

Post new topic  Reply to topic
 MRM to XML attributes « View previous topic :: View next topic » 
Author Message
drcas
PostPosted: Tue Mar 01, 2005 5:36 am    Post subject: MRM to XML attributes Reply with quote

Apprentice

Joined: 03 May 2002
Posts: 26

We are migrating 2.1 flows to 5.0. The flows use a ResetContentDescriptor to change from MRM to XML. In the 2.1 code the XML that is generated has attributes for the first XML element; however when the code is run through 5.0, the attributes in the XML are rendered as XML elements. Is there a difference between 5.0 and 2.1 in the way XML attributes are mapped?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Tue Mar 01, 2005 5:49 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Does your MRM model indicate that the fields in question should be rendered as Attributes, or as Elements?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
drcas
PostPosted: Tue Mar 01, 2005 7:34 am    Post subject: Reply with quote

Apprentice

Joined: 03 May 2002
Posts: 26

The fields are modeled as attributes.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Tue Mar 01, 2005 8:27 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

What are you doing to execute the conversion? You mentioned "mapping" - are you using a Mapping node to copy records from an MRM modeled message with a CWF/TDS format to a different MRM modeled message with an XML format?

Or are you merely instructing the system to change the physical format of a single MRM model?

Where do you see the attributes improperly rendered as elements? In your traces? Or in the output message?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
drcas
PostPosted: Tue Mar 01, 2005 11:18 am    Post subject: Reply with quote

Apprentice

Joined: 03 May 2002
Posts: 26

Actually it looks like all the RCD is doing is resetting the message domain to XML, resetting the message set to NULL, resseting the message type to NULL, and resetting the message format to XML.

This is what the message looks like before the RCD:

(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'EKF3BP8002001'
(0x03000000):MessageType = 'SiebelMessage'
(0x03000000):MessageFormat = 'XML'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2005-03-01 19:14:14.770'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'MQI.OEI.AIVPMV'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = 'MQSTR '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d5120484e41573553463151313120a961244220005f35'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'HNAW5SF1Q11 '
(0x03000000):UserIdentifier = 'NX03425 '
(0x03000000):AccountingToken = X'160105150000004b2c138107e96f195419ea1def03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 'C:\WINDOWS\system32\mmc.exe '
(0x03000000):PutDate = DATE '2005-03-01'
(0x03000000):PutTime = GMTTIME '19:14:14.770'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000021):MRM = (
(0x03000000):MessageId = ''
(0x03000000):MessageType = 'Integration Object'
(0x03000000):IntObjectFormat = 'Siebel Hierarchical'
(0x03000000):IntObjectName = 'OEI Vehicle Prod Market Values IO'
(0x03000000):DateReceived = '03/01/2005 14:14:01'
(0x0300000B):ProcessType = 'CONNECTOR'
(0x0300000B):ProcessName = 'VEHICLE PROD MARKET VALUES'
(0x0300000B):ProcessVersion = '1.0'
(0x03000000):SubscriptionNumber = 'SUBN'
(0x03000000):DataReferenceLanguage = 'ENU'
(0x03000000):MessageReferenceLanguage = 'ENU'
(0x03000000):DateFormat = 'MM/DD/YYYY'
(0x03000000):DecimalSeparator = '.'
(0x03000000):HoursCycle = '12'
(0x03000000):DateTransferred = '12/05/2004'
(0x03000000):PartnerReference = 'PREF'
(0x03000000):BPId = 'BPId'
(0x03000000):CodePage = 'UTF-8'
(0x01000000):ListOfOEIInterfaceVehicleProdMarketValuesIo = (
(0x01000000):VehicleProdMarketValues = (
(0x03000000):CustomerIdBrand = 'MICHELIN'
(0x03000000):VehicleOEMProject = 'OEMPROJECT'
(0x03000000):VehicleProdLocationId = 'VEHLOCID'
(0x03000000):ProductionYear = '2005'
(0x03000000):ForecastVehicleMarketQuantity = '12345'
(0x03000000):Comments = 'THIS IS A TEST OF VPMV'
(0x03000000):OEIPrimaryOrganizationId = 'OEI Organization'
)
)
)
)

AND this is after the RCD:

(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = 'XML'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2005-03-01 19:14:14.770'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'MQI.OEI.AIVPMV'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = 'MQSTR '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d5120484e41573553463151313120a961244220005f35'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'HNAW5SF1Q11 '
(0x03000000):UserIdentifier = 'NX03425 '
(0x03000000):AccountingToken = X'160105150000004b2c138107e96f195419ea1def03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 'C:\WINDOWS\system32\mmc.exe '
(0x03000000):PutDate = DATE '2005-03-01'
(0x03000000):PutTime = GMTTIME '19:14:14.770'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000010):XML = (
(0x05000018):XML = (
(0x06000011): = '1.0'
(0x06000012): = 'ibm-437_P100-1995'
)
(0x05000020):SiebelMessage =
(0x06000018): = 'MRM Generated XML Output on :Tue Mar 01 14:14:14 2005'
(0x01000000):SiebelMessage = (
(0x01000000):MessageId =
(0x01000000):MessageType = (
(0x02000000): = 'Integration Object'
)
(0x01000000):IntObjectFormat = (
(0x02000000): = 'Siebel Hierarchical'
)
(0x01000000):IntObjectName = (
(0x02000000): = 'OEI Vehicle Prod Market Values IO'
)
(0x01000000):DateReceived = (
(0x02000000): = '03/01/2005 14:14:01'
)
(0x01000000):ProcessType = (
(0x02000000): = 'CONNECTOR'
)
(0x01000000):ProcessName = (
(0x02000000): = 'VEHICLE PROD MARKET VALUES'
)
(0x01000000):ProcessVersion = (
(0x02000000): = '1.0'
)
(0x01000000):SubscriptionNumber = (
(0x02000000): = 'SUBN'
)
(0x01000000):DataReferenceLanguage = (
(0x02000000): = 'ENU'
)
(0x01000000):MessageReferenceLanguage = (
(0x02000000): = 'ENU'
)
(0x01000000):DateFormat = (
(0x02000000): = 'MM/DD/YYYY'
)
(0x01000000):DecimalSeparator = (
(0x02000000): = '.'
)
(0x01000000):HoursCycle = (
(0x02000000): = '12'
)
(0x01000000):DateTransferred = (
(0x02000000): = '12/05/2004'
)
(0x01000000):PartnerReference = (
(0x02000000): = 'PREF'
)
(0x01000000):BPId = (
(0x02000000): = 'BPId'
)
(0x01000000):CodePage = (
(0x02000000): = 'UTF-8'
)
(0x01000000):ListOfOEIInterfaceVehicleProdMarketValuesIo = (
(0x01000000):VehicleProdMarketValues = (
(0x01000000):CustomerIdBrand = (
(0x02000000): = 'MICHELIN'
)
(0x01000000):VehicleOEMProject = (
(0x02000000): = 'OEMPROJECT'
)
(0x01000000):VehicleProdLocationId = (
(0x02000000): = 'VEHLOCID'
)
(0x01000000):ProductionYear = (
(0x02000000): = '2005'
)
(0x01000000):ForecastVehicleMarketQuantity = (
(0x02000000): = '12345'
)
(0x01000000):Comments = (
(0x02000000): = 'THIS IS A TEST OF VPMV'
)
(0x01000000):OEIPrimaryOrganizationId = (
(0x02000000): = 'OEI Organization'
)
)
)
)
)
)
Back to top
View user's profile Send private message
Craig B
PostPosted: Tue Mar 01, 2005 11:29 am    Post subject: Reply with quote

Partisan

Joined: 18 Jun 2003
Posts: 316
Location: UK

Hi,

An RCD node requests that the current owning parser serialise its message tree into a bitstream, and then passes this over to the new named parser that is specified in the RCD node. From the XML tree you have shown, it can be seen that no XML attributes have been parsed as you have stated. This would suggest that when the MRM message tree is serialised against the MRM message definitions, the fields have not been matched against your definition. Only when a field in the message tree is matched against the dictionary can the physical format attributes be used, and hence render a field as an XML tag or XML Element. If no match is made against the dictionary then by default, the MRM-XML physical format will render a field as an XML tag. Possible reasons for this are :

1) The type composition sequence of the parent complex type is a sequence or ordered set, but the fields in the message tree are not in the same order as the message definition.
2) The message name specified cannot be found, and so the entire message is seen as self-defining.
3) A previous sibling of the structure that contains the attribute was not matched against the message definitions and so the message is already self-defining at that point.

I would compare the MRM message tree against your MRM message definition to see if you can see any differences. If you cannot spot any, then one trick to use is to open the MQInput node, and go to the Validation tab and set this to Content and Value with a Timing of Immediate. Validation errors will now be thrown for where the message tree does not match the model.

If you still cannot see why your attributes are being rendered as tags then I can take a look at your flow, messageSet and sample data.
_________________
Regards
Craig
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 » MRM to XML attributes
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.