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 » Message composition problems

Post new topic  Reply to topic
 Message composition problems « View previous topic :: View next topic » 
Author Message
khalednabil
PostPosted: Sun Oct 07, 2012 6:06 pm    Post subject: Reply with quote

Newbie

Joined: 07 Oct 2012
Posts: 6

I am having the same problem when using RCD node. http://www.mqseries.net/phpBB2/viewtopic.php?t=26442
My flow design as follows:
- Input MQ
- Subflow communicate with web-service to get information to store in environment for later use
- Aggregation node send the same old input for multiple compute nodes (one of the paths contain direct MQOuput node)

Situation:
When I remove the subflow, data written to MQ output
When the subflow exsit (have compute node to store original input and revert it back in the output of it) and then pass it to aggregation node, nothing is written in the queue.
When I use RCD after the sub-flow, exception is raised with "Message has no properties folder"

Investigation:
Comparing two inputs to the aggregation node, here is what I found

Original
Root:

( ['MQROOT' : 0x1ac6a2d0]
(0x01000000:Name ):Properties = ( ['MQPROPERTYPARSER' : 0x1e86a490]
(0x03000000:NameValue):MessageSet = 'Catering_MS' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 437 (INTEGER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)

After Subflow
Root:

( ['SOAPRoot' : 0x1ec30008]
(0x01000000:Name):Properties = (
(0x03000000:NameValue):MessageSet = 'Catering_MS' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 437 (INTEGER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)

Also the XMLNC is not seen as Folder instead it's seen as Name

How can I fix this
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Oct 08, 2012 1:43 am    Post subject: Reply with quote

Grand High Poobah

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

Do not hijack a thread. Create your own and reference the older thread.

This being said, how do you expect us to help you resolve the problem when you are withholding information germane to it's solving?

Post the full $Root from before and after. This should help at least explain your comment that the XMLNSC is seen as a name and not a Folder...

May just be that the subflow switched the domain on you from XMLNSC to SOAP?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
khalednabil
PostPosted: Mon Oct 08, 2012 3:20 am    Post subject: Reply with quote

Newbie

Joined: 07 Oct 2012
Posts: 6

Original
Root:

( ['MQROOT' : 0x1ec3e8a8]
(0x01000000:Name ):Properties = ( ['MQPROPERTYPARSER' : 0x1e7cf410]
(0x03000000:NameValue):MessageSet = 'Catering_MS' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 437 (INTEGER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2012-10-08 02:14:21.550' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'MQ' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name ):MQMD = ( ['MQHMD' : 0x1f1d64f0]
(0x03000000:NameValue):SourceQueue = 'Etihad.Catering.OPS1' (CHARACTER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 437 (INTEGER)
(0x03000000:NameValue):Format = ' ' (CHARACTER)
(0x03000000:NameValue):Version = 2 (INTEGER)
(0x03000000:NameValue):Report = 0 (INTEGER)
(0x03000000:NameValue):MsgType = 8 (INTEGER)
(0x03000000:NameValue):Expiry = -1 (INTEGER)
(0x03000000:NameValue):Feedback = 0 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):Persistence = 0 (INTEGER)
(0x03000000:NameValue):MsgId = X'414d51204d4237514d475220202020200c5771502000cb5c' (BLOB)
(0x03000000:NameValue):CorrelId = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):BackoutCount = 0 (INTEGER)
(0x03000000:NameValue):ReplyToQ = ' ' (CHARACTER)
(0x03000000:NameValue):ReplyToQMgr = 'MB7QMGR ' (CHARACTER)
(0x03000000:NameValue):UserIdentifier = 'KhaledNabil ' (CHARACTER)
(0x03000000:NameValue):AccountingToken = X'160105150000000e50869c5b3bfdeb0bff9179e803000000000000000000000b' (BLOB)
(0x03000000:NameValue):ApplIdentityData = ' ' (CHARACTER)
(0x03000000:NameValue):PutApplType = 11 (INTEGER)
(0x03000000:NameValue):PutApplName = 'oftware\RFHUtils\rfhutil.exe' (CHARACTER)
(0x03000000:NameValue):PutDate = DATE '2012-10-08' (DATE)
(0x03000000:NameValue):PutTime = GMTTIME '02:14:21.550' (GMTTIME)
(0x03000000:NameValue):ApplOriginData = ' ' (CHARACTER)
(0x03000000:NameValue):GroupId = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):MsgSeqNumber = 1 (INTEGER)
(0x03000000:NameValue):Offset = 0 (INTEGER)
(0x03000000:NameValue):MsgFlags = 0 (INTEGER)
(0x03000000:NameValue):OriginalLength = -1 (INTEGER)
)
(0x01000000:Folder):XMLNSC = ( ['xmlnsc' : 0x1ac693a0]
(0x01000400:NamespaceDecl):XmlDeclaration = (
(0x03000100:Attribute):Version = '1.0' (CHARACTER)
(0x03000100:Attribute):Encoding = 'UTF-8' (CHARACTER)
(0x03000100:Attribute):StandAlone = 'yes' (CHARACTER)
)
(0x01000000:Folder )http://airserv.com/Ops-I-001/AMOSDetailRequest/MAY2005:AMOSFlightDetailsRequest = (
(0x03000102:NamespaceDecl):xmlns = 'http://airserv.com/Ops-I-001/AMOSDetailRequest/MAY2005' (CHARACTER)
(0x03000100:Attribute ):AirlineCode = 'EY' (CHARACTER)
(0x03000100:Attribute ):BoardingDepartureStationCode = 'AUH' (CHARACTER)
(0x03000100:Attribute ):BoardingOperationalSuffix = ' ' (CHARACTER)
(0x03000100:Attribute ):FlightNumber = '275' (CHARACTER)
(0x03000100:Attribute ):DepartureStationCode = 'HYD' (CHARACTER)
(0x03000100:Attribute ):BoardingFacilityTypeCode = 'C' (CHARACTER)
(0x03000100:Attribute ):BoardingArrivalStationCode = 'HYD' (CHARACTER)
(0x03000100:Attribute ):BoardingFlightDate = '2012-09-20-05:00' (CHARACTER)
(0x03000100:Attribute ):FlightDate = '2012-09-21' (CHARACTER)
(0x03000100:Attribute ):QueryPeriod = '5' (CHARACTER)
(0x03000100:Attribute ):BoardingAirlineCode = 'EY' (CHARACTER)
(0x03000100:Attribute ):BoardingFacilityStationCode = 'AUH' (CHARACTER)
(0x03000100:Attribute ):BoardingFlightNumber = '274' (CHARACTER)
(0x03000100:Attribute ):ArrivalStationCode = 'AUH' (CHARACTER)
(0x03000100:Attribute ):BoardingFacilitySequenceNumber = '1' (CHARACTER)
)
)
)

After Sub-flow:
Root:

( ['SOAPRoot' : 0x1ec30008]
(0x01000000:Name):Properties = (
(0x03000000:NameValue):MessageSet = 'Catering_MS' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 437 (INTEGER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2012-10-08 02:14:21.550' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'MQ' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name):MQMD = (
(0x03000000:NameValue):SourceQueue = 'Etihad.Catering.OPS1' (CHARACTER)
(0x03000000:NameValue):Transactional = TRUE (BOOLEAN)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 437 (INTEGER)
(0x03000000:NameValue):Format = ' ' (CHARACTER)
(0x03000000:NameValue):Version = 2 (INTEGER)
(0x03000000:NameValue):Report = 0 (INTEGER)
(0x03000000:NameValue):MsgType = 8 (INTEGER)
(0x03000000:NameValue):Expiry = -1 (INTEGER)
(0x03000000:NameValue):Feedback = 0 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):Persistence = 0 (INTEGER)
(0x03000000:NameValue):MsgId = X'414d51204d4237514d475220202020200c5771502000cb5c' (BLOB)
(0x03000000:NameValue):CorrelId = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):BackoutCount = 0 (INTEGER)
(0x03000000:NameValue):ReplyToQ = ' ' (CHARACTER)
(0x03000000:NameValue):ReplyToQMgr = 'MB7QMGR ' (CHARACTER)
(0x03000000:NameValue):UserIdentifier = 'KhaledNabil ' (CHARACTER)
(0x03000000:NameValue):AccountingToken = X'160105150000000e50869c5b3bfdeb0bff9179e803000000000000000000000b' (BLOB)
(0x03000000:NameValue):ApplIdentityData = ' ' (CHARACTER)
(0x03000000:NameValue):PutApplType = 11 (INTEGER)
(0x03000000:NameValue):PutApplName = 'oftware\RFHUtils\rfhutil.exe' (CHARACTER)
(0x03000000:NameValue):PutDate = DATE '2012-10-08' (DATE)
(0x03000000:NameValue):PutTime = GMTTIME '02:14:21.550' (GMTTIME)
(0x03000000:NameValue):ApplOriginData = ' ' (CHARACTER)
(0x03000000:NameValue):GroupId = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):MsgSeqNumber = 1 (INTEGER)
(0x03000000:NameValue):Offset = 0 (INTEGER)
(0x03000000:NameValue):MsgFlags = 0 (INTEGER)
(0x03000000:NameValue):OriginalLength = -1 (INTEGER)
)
(0x01000000:Name):XMLNSC = (
(0x01000000:Name):XmlDeclaration = (
(0x03000000:NameValue):Version = '1.0' (CHARACTER)
(0x03000000:NameValue):Encoding = 'UTF-8' (CHARACTER)
(0x03000000:NameValue):StandAlone = 'yes' (CHARACTER)
)
(0x01000000:Name)http://airserv.com/Ops-I-001/AMOSDetailRequest/MAY2005:AMOSFlightDetailsRequest = (
(0x03000000:NameValue):xmlns = 'http://airserv.com/Ops-I-001/AMOSDetailRequest/MAY2005' (CHARACTER)
(0x03000000:NameValue):AirlineCode = 'EY' (CHARACTER)
(0x03000000:NameValue):BoardingDepartureStationCode = 'AUH' (CHARACTER)
(0x03000000:NameValue):BoardingOperationalSuffix = ' ' (CHARACTER)
(0x03000000:NameValue):FlightNumber = '275' (CHARACTER)
(0x03000000:NameValue):DepartureStationCode = 'HYD' (CHARACTER)
(0x03000000:NameValue):BoardingFacilityTypeCode = 'C' (CHARACTER)
(0x03000000:NameValue):BoardingArrivalStationCode = 'HYD' (CHARACTER)
(0x03000000:NameValue):BoardingFlightDate = '2012-09-20-05:00' (CHARACTER)
(0x03000000:NameValue):FlightDate = '2012-09-21' (CHARACTER)
(0x03000000:NameValue):QueryPeriod = '5' (CHARACTER)
(0x03000000:NameValue):BoardingAirlineCode = 'EY' (CHARACTER)
(0x03000000:NameValue):BoardingFacilityStationCode = 'AUH' (CHARACTER)
(0x03000000:NameValue):BoardingFlightNumber = '274' (CHARACTER)
(0x03000000:NameValue):ArrivalStationCode = 'AUH' (CHARACTER)
(0x03000000:NameValue):BoardingFacilitySequenceNumber = '1' (CHARACTER)
)
)
)
Back to top
View user's profile Send private message
marko.pitkanen
PostPosted: Mon Oct 08, 2012 3:47 am    Post subject: Reply with quote

Chevalier

Joined: 23 Jul 2008
Posts: 440
Location: Jamsa, Finland

Hi,

Did you create the XMLNSC -domain to tree you stored the original payload?

If not, you will lose all xml -specifig information and store only the logical message tree.

--
marko
Back to top
View user's profile Send private message Visit poster's website
khalednabil
PostPosted: Mon Oct 08, 2012 3:56 am    Post subject: Reply with quote

Newbie

Joined: 07 Oct 2012
Posts: 6

In the sub-flow, I have compute node which store all the InputRoot as received in input MQ as follows:
Code:

   SET Environment.Variables.InputRoot = InputRoot


and the output of the subflow (input to aggregation node) retrieve it as follows:
Code:

     SET OutputRoot = Environment.Variables.InputRoot


The middle between "in" compute node in the sub-flow and the "out" compute node I call webservice with SOAPRequest node
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Oct 08, 2012 4:09 am    Post subject: Reply with quote

Grand High Poobah

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

The tree with SOAPRoot, MQMD, and XMLNSC seems a little "fishy" to me.
I would have expected SOAPRoot, MQMD and SOAP as a parser...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
marko.pitkanen
PostPosted: Mon Oct 08, 2012 4:19 am    Post subject: Reply with quote

Chevalier

Joined: 23 Jul 2008
Posts: 440
Location: Jamsa, Finland

Hi,

So you can see from the user trace that you have perhaps lost your parser specific properties with you solution. You have to find out how to retain them.

--
Marko
Back to top
View user's profile Send private message Visit poster's website
Vitor
PostPosted: Mon Oct 08, 2012 5:21 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

khalednabil wrote:
In the sub-flow, I have compute node which store all the InputRoot as received in input MQ as follows:
Code:

   SET Environment.Variables.InputRoot = InputRoot


and the output of the subflow (input to aggregation node) retrieve it as follows:
Code:

     SET OutputRoot = Environment.Variables.InputRoot


The middle between "in" compute node in the sub-flow and the "out" compute node I call webservice with SOAPRequest node


As written this code doesn't work. Environment.Variables has no "tree" structure so the InputRoot becomes a list of variables. You need something like this untested code snippet:

Code:
CREATE LASTCHILD OF Environment.Variables AS gotit FROM InputRoot.Properties


and this to get it back

Code:
CREATE FIRSTCHILD OF OutputRoot FROM gotit


Note the use of FIRSTCHILD to ensure the Properties folder is in the correct place.

I agree with my associates there's something else going on as that "after" trace has some oddness; check your code. Your goal is to have Properties, MQMD & message body in that order by the time you hit the MQOutput node.

Enjoy.
_________________
Honesty is the best policy.
Insanity is the best defence.
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 » Message composition problems
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.