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 input request validation problem

Post new topic  Reply to topic
 SOAP input request validation problem « View previous topic :: View next topic » 
Author Message
wmqstankela
PostPosted: Fri Oct 21, 2016 12:29 am    Post subject: SOAP input request validation problem Reply with quote

Voyager

Joined: 29 Feb 2016
Posts: 94

Hi all,

I have message flow with SOAP input node with wsdl file. Parse timing on SOAP input node is set to 'on demand'. When I called my web service from soapui i've got this error 'Validation is enabled but no application message model can be found'. If I send this same request from integration toolkit flow exercizer everything is work fine.

When I changed parse timing to immediate, than everything is fine when xml request is correct. But when i send incorrect value of some field SOAP input parse request immeditelly and i lose data from message that I need. So I prefered on demand parse timing.
ExceptionList:
Code:

<InputExceptionList>
      <RecoverableException>
         <File>F:\build\S1000_slot1\S1000_P\src\DataFlowEngine\SQLNodeLibrary\ImbComputeNode.cpp</File>
         <Line>515</Line>
         <Function>ImbComputeNode::evaluate</Function>
         <Type>ComIbmComputeNode</Type>
         <Name>GetOsiguranikInfoMainFlow#FCMComposite_1_4.LoggerLib/LoggerSub#FCMComposite_1_2</Name>
         <Label>GetOsiguranikInfoMainFlow.LogInput.Soap2LogMes</Label>
         <Catalog>BIPmsgs</Catalog>
         <Severity>3</Severity>
         <Number>2230</Number>
         <Text>Caught exception and rethrowing</Text>
         <Insert>
            <Type>14</Type>
            <Text>GetOsiguranikInfoMainFlow.LogInput.Soap2LogMes</Text>
         </Insert>
         <RecoverableException>
            <File>F:\build\S1000_slot1\S1000_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp</File>
            <Line>792</Line>
            <Function>SqlStatementGroup::execute</Function>
            <Type/>
            <Name/>
            <Label/>
            <Catalog>BIPmsgs</Catalog>
            <Severity>3</Severity>
            <Number>2488</Number>
            <Text>Error detected, rethrowing</Text>
            <Insert>
               <Type>5</Type>
               <Text>LoggerLib.LoggerSub_Soap2LogMes.Main</Text>
            </Insert>
            <Insert>
               <Type>5</Type>
               <Text>17.4</Text>
            </Insert>
            <Insert>
               <Type>5</Type>
               <Text>SET OutputRoot.XMLNSC.ns:Message.MessageContent = InputRoot.SOAP;</Text>
            </Insert>
            <ParserException>
               <File>F:\build\S1000_slot1\S1000_P\src\WebServices\WSLibrary\ImbSOAPParser.cpp</File>
               <Line>2182</Line>
               <Function>ImbSOAPParser::createSoapShapedTree</Function>
               <Type/>
               <Name/>
               <Label/>
               <Catalog>BIPmsgs</Catalog>
               <Severity>3</Severity>
               <Number>3614</Number>
               <Text>problem creating SOAP tree from bitstream</Text>
               <ParserException>
                  <File>F:\build\S1000_slot1\S1000_P\src\MTI\MTIforBroker\GenXmlParser4\ImbXMLNSCDocHandler.cpp</File>
                  <Line>267</Line>
                  <Function>ImbXMLNSCDocHandler::setCachedIRForMessageSet</Function>
                  <Type>ComIbmSOAPInputNode</Type>
                  <Name>GetOsiguranikInfoMainFlow#FCMComposite_1_1</Name>
                  <Label>GetOsiguranikInfoMainFlow.SOAP Input</Label>
                  <Catalog>BIPmsgs</Catalog>
                  <Severity>3</Severity>
                  <Number>5057</Number>
                  <Text>Validation is enabled but no application message model can be found</Text>
                  <Insert>
                     <Type>5</Type>
                     <Text>GetOsiguranikInfo</Text>
                  </Insert>
               </ParserException>
            </ParserException>
         </RecoverableException>
      </RecoverableException>
   </InputExceptionList>


Can anyone help me about this problem?
Back to top
View user's profile Send private message
smdavies99
PostPosted: Fri Oct 21, 2016 1:02 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

This
Code:

                  <Text>Validation is enabled but no application message model can be found</Text>
                  <Insert>
                     <Type>5</Type>
                     <Text>GetOsiguranikInfo</Text>

Describes your problem.
Does your WSDL have an operation for GetOsiguranikInfo

Are you sure that the message you are sending from the Toolkit and the ones that fail are the same?

Many of us prefer to use the SoapUI tool for this sort of testing. You import the WSDL and the message structures (apart from human error in setting values) are correct according to the WSDL. It is Free (for the basic version).

As for losing the data, then that is down to your flow design. In your error/exception handling you really need to send back a properly formatted SOAP Failure message to the sender. The sender can decide to resend the data (with retries) or throw it away.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
wmqstankela
PostPosted: Fri Oct 21, 2016 4:39 am    Post subject: Reply with quote

Voyager

Joined: 29 Feb 2016
Posts: 94

Thanks smdavies99 for your reply.

I have operation GetOsiguranikInfo:

Code:
<wsdl:operation name="GetOsiguranikInfo">
         <wsdl:input message="tns:GetOsiguranikInfoRequest"/>
         <wsdl:output message="tns:GetOsiguranikInfoResponse"/>
         <wsdl:fault name="fault" message="tns:GetOsiguranikInfo_fault"></wsdl:fault>
      </wsdl:operation>


I sent same message from soapui and from toolkit.
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 input request validation problem
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.