ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ian Harrigan" <ianharri...@hotmail.com>
Subject SOAP envelope mismatch between ODE and axis2
Date Mon, 01 Jun 2009 15:41:17 GMT
I have a problem with trying to invoke an axis2 web service (living inside tomcat) from a ODE
BPEL process living inside ServiceMix. Although there was a small bug (that has been successfully
patched) im now getting somekind of mismatch between SOAP messages that are sent. If from
a completely external java client i send the following:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
 <SOAP-ENV:Body>
  <echo xmlns="http://ws.test">
   <input>FROM JAVA</input>
  </echo>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Then i get the correct the following response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
 <soapenv:Body>
  <ns:echoResponse xmlns:ns="http://ws.test">
   <ns:return>Echo: FROM JAVA</ns:return>
  </ns:echoResponse>
 </soapenv:Body>
</soapenv:Envelope>

If however i change the SOAP namespace from "http://schemas.xmlsoap.org/soap/envelope/" to
"http://www.w3.org/2003/05/soap-envelope" then i get the following response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
 <soapenv:Header>
  <wsa:Action>http://www.w3.org/2005/08/addressing/soap/fault</wsa:Action>
 </soapenv:Header>
 <soapenv:Body>
  <soapenv:Fault>
   <faultcode>SOAP-ENV:VersionMismatch</faultcode>
   <faultstring>Transport level information does not match with SOAP Message namespace
URI</faultstring>
   <detail/>
  </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>

Also, when i go back to servicemix and turn the logging level to debug so i can see the raw
requests/responses, i see a request that is something like this:

POST /axis2/services/EchoService HTTP/1.1 [\r][\n]
Content-Type: text/xml;charset=UTF-8[\r][\n]
Content-Length: 216[\r][\n]
SOAPAction: ""[\r][\n]
User-Agent: Jakarta Commons-HttpClient/3.0[\r][\n]
Host: localhost:8080[\r][\n]
[\r][\n]
<?xml version='1.0' encoding='UTF-8'?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><echo
xmlns="http://ws.test">[\n]
[0x9][0x9][0x9][0x9][0x9][0x9][0x9]<input>Some INPUT</input>[\n]
[0x9][0x9][0x9][0x9][0x9][0x9]</echo></env:Body></env:Envelope>
HTTP/1.1 500 Internal Server Error[\r][\n]
Content-Type: text/xml;charset=UTF-8[\r][\n]
Transfer-Encoding: chunked[\r][\n]
Date: Mon, 01 Jun 2009 15:22:33 GMT[\r][\n]
Server: Apache-Coyote/1.1[\r][\n]
Connection: close[\r][\n]
1
f
4
[\r]
[\n]

And exactly the same incorrect response from the axis2 server. So my question is how i can
either make ServiceMix/ODE and Tomecat/axis2 speak the same version of SOAP?

Any help would be greatly appreciated and i have deadlines fast approaching!

Thanks, as alaways, in advance,
Ian Harrigan
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message