on 02-19-2013 10:58 PM
Hello,
I want to
call an operation in WS that have multiple operations. I know that I can difference
that operation with the “soapAction” property in the soap adapter but my external
definition document have this property with initial value ( soapAction="" ).
Where can I set the right WS operation without the “soapAction” property???
Best
Regards,
Jose L.
Hello Jose,
I know that I can difference
that operation with the “soapAction” property in the soap adapter but my external
definition document have this property with initial value ( soapAction="" ).
Where can I set the right WS operation without the “soapAction” property???
If the wsdl does not have a value for soapAction, then maybe it is using SOAP 1.2 or WSSe which could mean that the operation(by the 3rd party) is determined via message type. Try executing a request using SOAP UI and then paste the message from the Raw Tab here.
Hope this helps,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Mark,
Thanks for your reply.
When I generate the request in the soapUI, the application generates this xml message:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inf="http://...">
<soapenv:Header/>
<soapenv:Body>
<inf:consultaXml soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<parametrosConsulta xsi:type="dto:ParametrosConsultaDTO" xmlns:dto="http://...">
<codigoInformacion xsi:type="soapenc:string" xmlns:soapenc="?http://schemas.xmlsoap.org/soap/encoding/">?</codigoInformacion>
<motivoConsulta xsi:type="soapenc:string" xmlns:soapenc="?http://schemas.xmlsoap.org/soap/encoding/">?</motivoConsulta>
<numeroIdentificacion xsi:type="soapenc:string" xmlns:soapenc="?http://schemas.xmlsoap.org/soap/encoding/">?</numeroIdentificacion>
<tipoIdentificacion xsi:type="soapenc:string" xmlns:soapenc="?http://schemas.xmlsoap.org/soap/encoding/">?</tipoIdentificacion>
</parametrosConsulta>
</inf:consultaXml>
</soapenv:Body>
</soapenv:Envelope>
The definition of the message and the operation in the wsdl are:
...
<message name="consultaXmlRequest">
<part name="parametrosConsulta" type="tns1:ParametrosConsultaDTO"/>
</message>
...
<operation name="consultaXml">
<wsdlsoap:operation soapAction=""/>
<input name="consultaXmlRequest">
<wsdlsoap:body namespace="http://..." encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/>
</input>
<output name="consultaXmlResponse">
</operation>
...
The soapAction is initial, and the WS have multiple operation...
I get the PI xml request with a tcp traffic monitor and the request don't have the tag:
<inf:consultaXml soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
And the web service don't know the operation that I am calling.
Please help me.
Jose.
Hi Jose,
Please find the below blog where its mentioned how to call the specific operation of a Web Service:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.