[
https://issues.apache.org/jira/browse/ODE-614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12715128#action_12715128
]
Ian Harrigan commented on ODE-614:
----------------------------------
Im now pretty sure ive isloated the issue. Firstly, in order to get to the
point im at now i did indeed have to apply the patch that is includedin this
bug. However, with a little bit of digging im pretty sure that the issue is
that the SOAP envelope that ServiceMix is creating is the wrong version that
the axis2 web service is expecting. If from a seperate java application
(nothing to do with ServiceMix now) i send the following raw SOAP request:
<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 firstly i
think that the patch closes this bug but i am also now windering 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
> ClassCastException: org.apache.ode.jbi.JbiEndpointReference
> -----------------------------------------------------------
>
> Key: ODE-614
> URL: https://issues.apache.org/jira/browse/ODE-614
> Project: ODE
> Issue Type: Bug
> Components: JBI Integration
> Affects Versions: 1.3.2
> Reporter: Alexis Midon
> Assignee: Alexis Midon
> Attachments: ODE-614.potential.patch
>
>
> Im trying to invoke an external axis2 web service from a ODE BPEL project
> deployed inside a ServiceMix JBI container but every time i try to invoke i
> get the following errors.
> java.lang.ClassCastException: org.apache.ode.jbi.JbiEndpointReference
> at
> org.apache.ode.jbi.EndpointReferenceContextImpl.getConfigLookup(EndpointReferenceContextImpl.java:116)
> at
> org.apache.ode.store.ProcessConfImpl.getEndpointProperties(ProcessConfImpl.java:417)
> at
> org.apache.ode.bpel.engine.BpelProcess.getTimeout(BpelProcess.java:1089)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.scheduleInvokeCheck(BpelRuntimeContextImpl.java:839)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:777)
> at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:100)
> at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
> at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
> at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:870)
> at
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:206)
> at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:237)
> at
> org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:408)
> at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
> at
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
> at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.