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 » SOAP Reply Node Message Validation

Post new topic  Reply to topic
 SOAP Reply Node Message Validation « View previous topic :: View next topic » 
Author Message
pottas
PostPosted: Sun May 25, 2008 9:50 pm    Post subject: SOAP Reply Node Message Validation Reply with quote

Disciple

Joined: 27 Oct 2005
Posts: 185
Location: South Africa

Hi,
I am running Broker 6.1. I have a flow that uses a SOAP Input and Reply Node. I am battling to get the flow to validate my message when I set the Reply node to 'Content and Value'.
I have a WSDL that I introduced to the flow that has the following settings:
Message Set supported domains: 'XMLNSC','SOAP'. In the WSDL I have a lot of structures that I need to validate but if I set the Reply Node to 'Content and Value', the flow pops out this error:

Quote:
Text:CHARACTER:Validation is enabled but pre-processed schemas cannot be located for the specified message set
Insert
Type:INTEGER:5
Text:CHARACTER:ODO9LTS002001


So I introduced a RCD Node just before the SOAP Reply Node and it seems like even though I get an 'XML Parsing Error' in the debugger I don't get the Soap error returned to the requestor - the requestor gets only part of the message returned (as if the message was parsed only in part and that piece is returned to the requestor)

I would expect some sort of SOAP error that gives me the tag that is in error. I have tried other options (i.e. setting the validation to 'Content and Value' on the preceding Compute Node and setting the SOAP reply node to 'Inherit', etc.)

So I guess my question is - do I have to do something specific when I create the Message Set from the WSDL (some settings etc.) in order for it to give me a sensible response?
Or do I have to have some other setting on some node in my flow that would give me a Soap error returned.
Back to top
View user's profile Send private message
pottas
PostPosted: Sun May 25, 2008 10:39 pm    Post subject: Reply with quote

Disciple

Joined: 27 Oct 2005
Posts: 185
Location: South Africa

Guys,
My apologies - I failed to mention that I set the RCD Node to the following settings:
Parse timing: Complete
Build tree using XML schema data types: Checked

It then gives me a Soap error message on the response:
Quote:

<NS1:Envelope xmlns:NS1="http://schemas.xmlsoap.org/soap/envelope/">
<NS1:Body/>
<NS1:Fault>
<faultcode/>
<faultstring/>
<faultactor/>
<detail>
<message>System Error : A schema validation error has occurred while parsing the XML document</message>
</detail>
</NS1:Fault>
</NS1:Envelope>


But still - I would expect an error that will give me the actual tag that is in error.
Back to top
View user's profile Send private message
kimbert
PostPosted: Tue May 27, 2008 4:30 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
I would expect an error that will give me the actual tag that is in error.
You are correct. Parser errors are never as terse as that. Check the system error log, or take a user trace ( mqsichangetrace, mqsireadlog, mqsiformatlog ).
Back to top
View user's profile Send private message
pottas
PostPosted: Wed May 28, 2008 12:37 am    Post subject: Reply with quote

Disciple

Joined: 27 Oct 2005
Posts: 185
Location: South Africa

Thanks Kimbert,
I also figured that I need to get more than that.
The way I did it now was to use the Exception Handling example in the ESQL manual - that gave me the exception on the lowest level:
Quote:
A schema validation error has occurred while parsing the XML document

In this structure - in the 'Insert' tag, I get the specific details of the field that is in error:
Quote:
cvc-enumeration-valid: The value "" is not valid with respect to the enumeration facet for type "CustomerRecordStatus_Type". It must be a value from the enumeration.


...so this is the error I would have expected to see in my retuning Soap fault.

My question is then.... do I have to do something specific when creating the message set from the WSDL?
This is the process I follow:
New --> Message set --> <Choose a name for the message set and project> --> Choose 'Web Services SOAP' in the drop-down --> Check box 'XML documents (general)' --> Finish.
That's it... do I have to do something more on the Message Set to make it validate in my Soap message flows?
Back to top
View user's profile Send private message
pottas
PostPosted: Wed May 28, 2008 1:18 am    Post subject: Reply with quote

Disciple

Joined: 27 Oct 2005
Posts: 185
Location: South Africa

Guys,
In addition to my previous post - allow me to add to the bottom the part I missed out

After I created the Message Set, I add the WSDL to the Message Set project and do the following:
New --> Message Definition file from --> WSDL file --> Select the WSDL bindings to import --> finish.
then I 'clean' and 'build' my project.
...so do I have to do something specific to the Message Set from here onwards?
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 » SOAP Reply Node Message Validation
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.