Hello,
I am currently developing my first business process using ODE 1.2 as jbi component in servicemix 3.2.1. This is a very simple process copying data from one message to another and invoking a web service. My problem is the following: the envelope namespace sent to my web service doesn't match to the one expected and I get a VersionMismatch fault from it. Here is the message sent by ode/smix: <?xml version='1.0' encoding='UTF-8'?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <Test2In xmlns="http://mycompany.net/jws/test/schema/in2/"> <text xmlns="">some text</text> </Test2In> </env:Body> </env:Envelope> Here is the message I get from my web service: <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope"> <faultcode>ns2:VersionMismatch</faultcode> <faultstring>Couldn't create SOAP message. Expecting Envelope in namespace http://schemas.xmlsoap.org/soap/envelope/, but got http://www.w3.org/2003/05/soap-envelope </faultstring> </ns2:Fault> </S:Body> </S:Envelope> Is there a way to get the right namespace generated? Please find below the WSDL of my test web service: <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:in2="http://mycompany.net/jws/test/schema/in2/" xmlns:out2="http://mycompany.net/jws/test/schema/out2/" xmlns:smix="http://servicemix.org/wsdl/jbi/" xmlns:jws="http://mycompany.net/jws/test/" targetNamespace="http://mycompany.net/jws/test/"> <types> <schema targetNamespace="http://mycompany.net/jws/test/schema/in2/" xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="Test2In"> <complexType> <all> <element name="text" type="string" /> </all> </complexType> </element> </schema> <schema targetNamespace="http://mycompany.net/jws/test/schema/out2/" xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="Test2Out"> <complexType> <all> <element name="text" type="string" /> </all> </complexType> </element> </schema> </types> <message name="MsgTest2In"> <part name="parameter" element="in2:Test2In" /> </message> <message name="MsgTest2Out"> <part name="parameter" element="out2:Test2Out" /> </message> <portType name="PTTest"> <operation name="invoke2"> <input message="jws:MsgTest2In" /> <output message="jws:MsgTest2Out" /> </operation> </portType> <binding name="BITestSOAP" type="jws:PTTest"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="invoke2"> <soap:operation soapAction="urn:#invoke2" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> </binding> <service name="TestWS"> <port name="PTTest" binding="jws:BITestSOAP"> <soap:address location="http://localhost:7000/TestBeanService/TestBean" /> <smix:endpoint role="provider" defaultMep="in-out" /> </port> </service> </definitions> Thanks, Sabine
