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 » Validation issue

Post new topic  Reply to topic
 Validation issue « View previous topic :: View next topic » 
Author Message
WMBSAM
PostPosted: Tue Nov 03, 2009 12:34 pm    Post subject: Validation issue Reply with quote

Voyager

Joined: 02 Oct 2009
Posts: 90
Location: Atlanta

I have 2 message flows which interact with each other.

the first flow process the message and then puts in a queue and the same queue becomes input for the other message flow. now the issue is the Soap message has all the data types correctly in the message before the message is put in the queue but the wen the same message is retrieved by the MQ input node of the other message flow all the elements in the soap messages are converted into character datatype

this are the properties i have set for the Input mq node

message domain: XMLNSC
message set: *******messageset
Parsing timing:Complete
Validation:Content and Value

i don't want all the elements in the in teh character datatype because the message is huge and many elements have different datatype

any suggestions???
Back to top
View user's profile Send private message
sridhsri
PostPosted: Tue Nov 03, 2009 1:17 pm    Post subject: Reply with quote

Master

Joined: 19 Jun 2008
Posts: 297

What do you mean by the message is getting converted to char type ? What error do you see ?

p.s: If you are dealing with large messages, it might be a good idea to have lazy parsing instead of immediate - it improves performance.
Back to top
View user's profile Send private message
WMBSAM
PostPosted: Tue Nov 03, 2009 1:34 pm    Post subject: Reply with quote

Voyager

Joined: 02 Oct 2009
Posts: 90
Location: Atlanta

i mean each element of the message is getting converted to Character datatype
here is the message i am getting after mq input node

Quote:

afterrequestqueue: ( ['MQROOT' : 0x78ca728]
(0x01000000:Name ):Properties = ( ['MQPROPERTYPARSER' : 0x3dcd5b0]
(0x03000000:NameValue):MessageSet = 'SummaryMessageSet' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2009-11-03 20:18:54.450' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'414d5120574d42325f564953412020207b64f04a20005a06' (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' : 0x76aa3f8]
(0x03000000:NameValue):SourceQueue = 'Request' (CHARACTER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Format = 'MQSTR ' (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'414d5120574d42325f564953412020207b64f04a20005a05' (BLOB)
(0x03000000:NameValue):CorrelId = X'414d5120574d42325f564953412020207b64f04a20005a06' (BLOB)
(0x03000000:NameValue):BackoutCount = 0 (INTEGER)
(0x03000000:NameValue):ReplyToQ = ' ' (CHARACTER)
(0x03000000:NameValue):ReplyToQMgr = 'WMB2 ' (CHARACTER)
(0x03000000:NameValue):UserIdentifier = 'wmbuser ' (CHARACTER)
(0x03000000:NameValue):AccountingToken = X'16010515000000fa47c305c9289470a02b39653bc3020000000000000000000b' (BLOB)
(0x03000000:NameValue):ApplIdentityData = ' ' (CHARACTER)
(0x03000000:NameValue):PutApplType = 11 (INTEGER)
(0x03000000:NameValue):PutApplName = 'I\6.1\bin\DataFlowEngine.exe' (CHARACTER)
(0x03000000:NameValue):PutDate = DATE '2009-11-03' (DATE)
(0x03000000:NameValue):PutTime = GMTTIME '20:18:54.450' (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' : 0x78ca950]
(0x01000000:Folder)http://www.xyz.com/abc= (
(0x03000102:NamespaceDecl)http://www.w3.org/2000/xmlns/:summaryreqmsg = 'http://www.xyz.com/abc' (CHARACTER)
(0x03000102:NamespaceDecl)http://www.w3.org/2000/xmlns/:xsi = 'http://www.w3.org/2001/XMLSchema-instance' (CHARACTER)
(0x03000100:Attribute )http://www.w3.org/2001/XMLSchema-instance:schemaLocation = 'http://www.abc.com/xyz.xsd' (CHARACTER)
(0x01000000:Folder )http://www.abc.com/rxyzHeader = (
(0x03000000:PCDataField):RequestTS = '2009-10-28T18:22:23.118Z' (CHARACTER)
(0x03000000:PCDataField):ApplicationID = 'hdfkL' (CHARACTER)
(0x03000000:PCDataField):RequestMessageID = '1146649' (CHARACTER)
(0x03000000:PCDataField):CorrelationID = '1146649' (CHARACTER)
(0x03000000:PCDataField):UserID = 'ninse3190u_at' (CHARACTER)
(0x03000000:PCDataField):UserBID = '200611' (CHARACTER)
)
(0x01000000:Folder ):RequestData = (
(0x03000000:PCDataField)http://www.abc.com/xyzType = 'SAML' (CHARACTER)
(0x03000000:PCDataField):MaxRows = '50' (CHARACTER)
(0x03000000:PCDataField):MerfID = 'NTsdfh706' (CHARACTER)
(0x03000000:PCDataField):StartDate = '2009-04-20' (CHARACTER)
(0x03000000:PCDataField):StartTime = '00:00:00' (CHARACTER)
(0x03000000:PCDataField):EndsDate = '2009-04-20' (CHARACTER)
(0x03000000:PCDataField):EndTransTime = '23:59:59.999' (CHARACTER)
Back to top
View user's profile Send private message
kimbert
PostPosted: Tue Nov 03, 2009 2:13 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Before v6.1, XMLNSC was not able to validate against a schema. So it had to build the message tree using the CHARACTER data type only ( just like XMLNS still does ).
When we added schema validation in v6.1, we had to remain backward compatible with v6.0. So the default is still to build the tree using CHARACTER data only. Even if validation is enabled.
However, we did provide a new option 'Build tree using XML Schema'. If you have set Validation to 'Content and Value' you will be able to enable this option.

The SOAP domain was new for v6.1, so it was free to set this option ON by default.
Back to top
View user's profile Send private message
WMBSAM
PostPosted: Tue Nov 03, 2009 2:23 pm    Post subject: Reply with quote

Voyager

Joined: 02 Oct 2009
Posts: 90
Location: Atlanta

hello Kimbert thanks for the reply in time but i had another question if we see the available properties for the MQ input node the message type property gets disabled so how come the validation happens for the input message with the schema that is specific to the input message??
Back to top
View user's profile Send private message
WMBSAM
PostPosted: Tue Nov 03, 2009 2:57 pm    Post subject: Reply with quote

Voyager

Joined: 02 Oct 2009
Posts: 90
Location: Atlanta

Hello kimbert i have tested the flow by making the changes that you have recommended but there was no change in the message all the elements are of character data type.I really suspect how the validator knows against which message definition the message has to be validated as there is no message type option???

Note: let me also inform that wen i use the MRM domain there is no such issue as i am able to specify the message type option......
Back to top
View user's profile Send private message
kimbert
PostPosted: Tue Nov 03, 2009 3:29 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

More message broker history coming up...

* The MRM parser supports a variety of formats, including XML. In a non-XML message, it is ( usually ) not possible to work out *from the incoming message* which message type to use. So the MRM parser requires you to supply the message type.
* The XMLNSC parser only ever deals with XML. The root tag of the input XML document identifies the global element declaration that should be used. So there's no need for the message type to be set.
* For the same reason, you can get away without setting message type in MRM XML as well. If you do set it, the root tag of the incoming message gets checked against it. XMLNSC doesn't offer that facility, but the possibility has been discussed once or twice.
Back to top
View user's profile Send private message
AkankshA
PostPosted: Tue Nov 03, 2009 11:44 pm    Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

WMBSAM wrote:
Hello kimbert i have tested the flow by making the changes that you have recommended but there was no change in the message all the elements are of character data type.I really suspect how the validator knows against which message definition the message has to be validated as there is no message type option???

Note: let me also inform that wen i use the MRM domain there is no such issue as i am able to specify the message type option......


shouldn't the parse timing be Immediate in this case ??
_________________
Cheers
Back to top
View user's profile Send private message Visit poster's website
kimbert
PostPosted: Wed Nov 04, 2009 2:13 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
i have tested the flow by making the changes that you have recommended but there was no change in the message all the elements are of character data type
This is a very widely used option, and I have never heard of any problem with it. I suggest that you check your test setup and try again.
Back to top
View user's profile Send private message
WMBSAM
PostPosted: Wed Nov 04, 2009 6:02 pm    Post subject: Reply with quote

Voyager

Joined: 02 Oct 2009
Posts: 90
Location: Atlanta

My bad thank you kimbert for the valuable information issue resolved!!!
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 » Validation 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.