|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
problem creating SOAP tree from bitstream-after SoapRequest |
« View previous topic :: View next topic » |
Author |
Message
|
sraghukumar |
Posted: Wed Feb 18, 2015 10:07 am Post subject: problem creating SOAP tree from bitstream-after SoapRequest |
|
|
Apprentice
Joined: 15 Feb 2011 Posts: 49
|
Hi, Can someone please help me on the below problem , Thanks
Problem:
After a SOAP request node receives response, it is having problem in creating SOAP tree from bitstream. But I received the response, when ran using SOAP UI. I tried using Usertrace using MQ commands and I found this below information,
Error information captured using Usertrace:
2015-02-17 21:58:44.606448 20204 ParserException BIP3614E: A SOAP logical tree cannot be built from the message bitstream.
The bitstream is not a valid Web service message.
Review further error messages for an indication to the cause of the error.
2015-02-17 21:58:44.606456 20204 ParserException BIP3601E: Operation mismatch. The SOAP payload ''{http://services.myservice.com/product/development/v1_0}createStyleResponse'' corresponds to operation ''createStyle'' in WSDL binding ''ProductDevelopmentServiceBinding_v1_0'', but the operation was previously specified as ''updateProductIntegrationStatus''.
The first child of the SOAP body matches a specific WSDL operation. This operation is different from the operation specified by a Content-Type (action), SOAPAction or WS-Addressing Action header.
Correct any SOAPAction or WS-Addressing Action header to match the operation identified by the SOAP payload.
Here is the WSDL how it looks:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:prod="http://services.myservice.com/product/development/v1_0" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://services.myservice.com/product/development/v1_0" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ProductDevelopmentService" targetNamespace="http://services.myservice.com/product/development/v1_0">
<wsdl:types>
<xsd:schema>
<xsd:import namespace="http://services.myservice.com/product/development/v1_0" schemaLocation="ProductDevelopmentServiceMessages.xsd"/>
</xsd:schema>
</wsdl:types>
<!-- MESSAGES -->
<wsdl:message name="createStyleRequestMsg">
<wsdl:part element="prod:createStyleRequest" name="_inMsg"/>
</wsdl:message>
<wsdl:message name="createStyleResponseMsg">
<wsdl:part element="prod:createStyleResponse" name="_outMsg"/>
</wsdl:message>
<wsdl:message name="updateProductRequestMsg">
<wsdl:part element="prod:updateProductRequest" name="_inMsg"/>
</wsdl:message>
<wsdl:message name="updateProductResponseMsg">
<wsdl:part element="prod:updateProductResponse" name="_outMsg"/>
</wsdl:message>
<wsdl:message name="updateProductIntegrationStatusRequestMsg">
<wsdl:part element="prod:updateProductIntegrationStatusRequest" name="_inMsg"/>
</wsdl:message>
<wsdl:message name="updateProductIntegrationStatusResponseMsg">
<wsdl:part element="prod:updateProductIntegrationStatusResponse" name="_outMsg"/>
</wsdl:message>
<wsdl:message name="updateProgramRequestMsg">
<wsdl:part element="prod:updateProgramRequest" name="_inMsg"/>
</wsdl:message>
<wsdl:message name="updateProgramResponseMsg">
<wsdl:part element="prod:updateProgramResponse" name="_outMsg"/>
</wsdl:message>
<wsdl:message name="updateStyleRequestMsg">
<wsdl:part element="prod:updateStyleRequest" name="_inMsg"/>
</wsdl:message>
<wsdl:message name="updateStyleResponseMsg">
<wsdl:part element="prod:updateStyleResponse" name="_outMsg"/>
</wsdl:message>
<wsdl:message name="createProductColorwayForSeasonRequestMsg">
<wsdl:part element="prod:createProductColorwayForSeasonRequest" name="_inMsg"/>
</wsdl:message>
<wsdl:message name="createProductColorwayForSeasonResponseMsg">
<wsdl:part element="prod:createProductColorwayForSeasonResponse" name="_outMsg"/>
</wsdl:message>
<wsdl:message name="testServiceRequestMsg">
<wsdl:part element="prod:testServiceRequest" name="_inMsg"/>
</wsdl:message>
<wsdl:message name="testServiceResponseMsg">
<wsdl:part element="prod:testServiceResponse" name="_outMsg"/>
</wsdl:message>
<!-- FAULT MESSAGES -->
<wsdl:message name="schemaValidationFault">
<wsdl:part element="prod:schemaValidationFault" name="fault"/>
</wsdl:message>
<wsdl:message name="serviceProcessingFault">
<wsdl:part element="prod:serviceProcessingFault" name="fault"/>
</wsdl:message>
<!-- PORT TYPES -->
<wsdl:portType name="ProductDevelopmentServicePortType_v1_0">
<wsdl:operation name="updateProductIntegrationStatus">
<wsdl:input message="tns:updateProductIntegrationStatusRequestMsg"/>
<wsdl:output message="tns:updateProductIntegrationStatusResponseMsg"/>
<wsdl:fault message="tns:schemaValidationFault" name="schemaValidationFault"/>
<wsdl:fault message="tns:serviceProcessingFault" name="processingFault"/>
</wsdl:operation>
<wsdl:operation name="createStyle">
<wsdl:input message="tns:createStyleRequestMsg"/>
<wsdl:output message="tns:createStyleResponseMsg"/>
<wsdl:fault message="tns:schemaValidationFault" name="schemaValidationFault"/>
<wsdl:fault message="tns:serviceProcessingFault" name="processingFault"/>
</wsdl:operation>
<wsdl:operation name="updateProduct">
<wsdl:input message="tns:updateProductRequestMsg"/>
<wsdl:output message="tns:updateProductResponseMsg"/>
<wsdl:fault message="tns:schemaValidationFault" name="schemaValidationFault"/>
<wsdl:fault message="tns:serviceProcessingFault" name="processingFault"/>
</wsdl:operation>
<wsdl:operation name="updateStyle">
<wsdl:input message="tns:updateStyleRequestMsg"/>
<wsdl:output message="tns:updateStyleResponseMsg"/>
<wsdl:fault message="tns:schemaValidationFault" name="schemaValidationFault"/>
<wsdl:fault message="tns:serviceProcessingFault" name="processingFault"/>
</wsdl:operation>
<wsdl:operation name="createProductColorwayForSeason">
<wsdl:input message="tns:createProductColorwayForSeasonRequestMsg"/>
<wsdl:output message="tns:createProductColorwayForSeasonResponseMsg"/>
<wsdl:fault message="tns:schemaValidationFault" name="schemaValidationFault"/>
<wsdl:fault message="tns:serviceProcessingFault" name="processingFault"/>
</wsdl:operation>
<wsdl:operation name="testService">
<wsdl:documentation>This operation is for testing purposes. It
provides an interface for clients to test various supported
scenarios.</wsdl:documentation>
<wsdl:input message="tns:testServiceRequestMsg"/>
<wsdl:output message="tns:testServiceResponseMsg"/>
<wsdl:fault message="tns:serviceProcessingFault" name="processingFault"/>
</wsdl:operation>
</wsdl:portType>
<!-- BINDINGS -->
<wsdl:binding name="ProductDevelopmentServiceBinding_v1_0" type="tns:ProductDevelopmentServicePortType_v1_0">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="updateProductIntegrationStatus">
<soap:operation soapAction="http://services.myservice.com/product/development/v1_0/updateProductIntegrationStatus" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="processingFault">
<soap:fault name="processingFault" use="literal"/>
</wsdl:fault>
<wsdl:fault name="schemaValidationFault">
<soap:fault name="schemaValidationFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="createStyle">
<soap:operation soapAction="http://services.myservice.com/product/development/v1_0/createStyle" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="processingFault">
<soap:fault name="processingFault" use="literal"/>
</wsdl:fault>
<wsdl:fault name="schemaValidationFault">
<soap:fault name="schemaValidationFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="updateProduct">
<soap:operation soapAction="http://services.myservice.com/product/development/v1_0/updateProduct" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="processingFault">
<soap:fault name="processingFault" use="literal"/>
</wsdl:fault>
<wsdl:fault name="schemaValidationFault">
<soap:fault name="schemaValidationFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="updateStyle">
<soap:operation soapAction="http://services.myservice.com/product/development/v1_0/updateStyle" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="processingFault">
<soap:fault name="processingFault" use="literal"/>
</wsdl:fault>
<wsdl:fault name="schemaValidationFault">
<soap:fault name="schemaValidationFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="createProductColorwayForSeason">
<soap:operation soapAction="http://services.myservice.com/product/development/v1_0/createProductColorwayForSeason" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="processingFault">
<soap:fault name="processingFault" use="literal"/>
</wsdl:fault>
<wsdl:fault name="schemaValidationFault">
<soap:fault name="schemaValidationFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="testService">
<soap:operation soapAction="http://services.myservice.com/product/development/v1_0/testService" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="processingFault">
<soap:fault name="processingFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<!-- SERVICE INTERFACES -->
<wsdl:service name="ProductDevelopmentService_v1_0">
<wsdl:port binding="tns:ProductDevelopmentServiceBinding_v1_0" name="ProductDevelopmentServicePort_v1_0">
<soap:address location="http://localhost:7800/ProductDevelopmentWS/ProductDevelopmentService_v1_0"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions> _________________ -----------
Raghu |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 18, 2015 10:12 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Code: |
2015-02-17 21:58:44.606456 20204 ParserException BIP3601E: Operation mismatch. The SOAP payload ''{http://services.myservice.com/product/development/v1_0}createStyleResponse'' corresponds to operation ''createStyle'' in WSDL binding ''ProductDevelopmentServiceBinding_v1_0'', but the operation was previously specified as ''updateProductIntegrationStatus''.
The first child of the SOAP body matches a specific WSDL operation. This operation is different from the operation specified by a Content-Type (action), SOAPAction or WS-Addressing Action header.
Correct any SOAPAction or WS-Addressing Action header to match the operation identified by the SOAP payload |
This is reasonably clear and straightforward.
Someone created a soap response message that had a root tag of "createStyleResponse", that belongs to an operation named "createStyle". They provided this to a SOAP request that was expecting a response that belonged to an operation named "updateProductIntegrationStatus". |
|
Back to top |
|
 |
sraghukumar |
Posted: Wed Feb 18, 2015 11:48 am Post subject: Operation mismatch |
|
|
Apprentice
Joined: 15 Feb 2011 Posts: 49
|
Thanks for the response.
I set the binding operation dynamically as,
Code: |
SET OutputLocalEnvironment.Destination.SOAP.Request.Operation = 'createStyle'; |
Note: set the compute mode property of compute node[in which you create the soap request message] to 'LocalEnvironment and Message'.
Since my flow is calling different operations on same web service and i'm using one SoapRequest node. I should set the binding operation dynamically while I create the soap request message for each operation.
Before I had this solution, the soapRequest node was expecting the response for 'updateProductIntegrationStatus' operation which is set by default. _________________ -----------
Raghu |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Feb 19, 2015 5:26 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
It really depends whether or not you are operating in gateway mode.
If you are operating in gateway mode, make sure the value matches what is in the corresponding wsdl.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|