To follow up - i just tried to expose my endpoint via an xbean as follows:
<http:endpoint service="echo:EchoService"
endpoint="EchoServiceSOAP11port_http"
role="provider"
locationURI="http://localhost:8080/axis2/services/EchoService"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soapVersion ="1.1"/>
But now i get the exception:
java.io.IOException: An existing connection was forcibly closed by the
remote host
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:25)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
at sun.nio.ch.IOUtil.read(IOUtil.java:206)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:207)
at org.mortbay.io.nio.ChannelEndPoint.fill(ChannelEndPoint.java:131)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:283)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:377)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)
The server (axis2/tomcat) is definitely running though!
Ian
--------------------------------------------------
From: "Ian Harrigan" <[email protected]>
Sent: Wednesday, June 03, 2009 4:21 PM
To: "Apache ServiceMix Dev" <[email protected]>; "Apache ServiceMix
Users" <[email protected]>
Subject: Really need help with soap namespace mismatch
Hi All,
Im trying to invoke an axis2 web service deployed inside tomcat, heres the
basic definition of it:
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
....
<wsdl:binding name="EchoServiceSOAP11Binding"
type="ns0:EchoServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<wsdl:operation name="echo">
<soap:operation soapAction="urn:echo" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
....
....
<wsdl:port name="EchoServiceSOAP11port_http"
binding="ns0:EchoServiceSOAP11Binding">
<soap:address
location="http://localhost:8080/axis2/services/EchoService"/>
<smix:endpoint role="provider" defaultMep="in-out"/>
</wsdl:port>
I would have though that this would mean that service mix would have to
use SOAP1.1 to invoke it (because of the 'soap' namespace), however, when
i try to invoke it service mix shows the soap request as having a
namespace of http://www.w3.org/2003/05/soap-envelope which is SOAP 1.2, i
then get the error from tomcat/axis2 saying there is a mismatch, ie, im
trying to send a soap1.2 request to a soap1.1 port/binding.
Can anyone help me with this??? I reall dont see what else i can try.
Thanks,
Ian