You should use the new HTTP endpoints (documentation is being written at http://servicemix.apache.org/servicemix-http-new-endpoints.html) or use CXF component. Both endpoints should handle the ContentType and SOAPAction headers much better.
On Thu, Sep 18, 2008 at 5:42 AM, CheffPJ <[EMAIL PROTECTED]> wrote: > > Summary > The current Content-type HTTP header is set to: > Content-Type: text/xml;charset=UTF-8 > but the service wants: > Content-Type: application/soap+xml > Supposedly this is according to http://www.w3.org/TR/soap12-part0/#L26866 > SOAP 1.2 Spec, Section 4.1.2, 4th paragraph > > Error Details > Running servicemix 3.2.3-SNAPSHOT via the maven goal. > > Route: > 1. JMS Consumer for "legacy" non-SOAP XML message > 2. Saxon transformation to fix lack of namespaces > 2. Saxon transformation to wrap XML in appropriate element according to > wsdl:message > 3. HTTP-SU to call the service in question using SOAP 1.2 > > Configure a servicemix-http SU to connect to an HTTP/SOAP service, currently > implemented with Axis2 (although eventually targeting a BPEL Engine) with: > ...soapVersion="1.2"... > > > The resulting message has the correct namespace: > <env:Envelope env="http://www.w3.org/2003/05/soap-envelope"... > > > But the following HTTP headers are sent: > ... > Content-Type: text/xml;charset=UTF-8 > SOAPAction: "" > ... > > > Resulting in axis2 returning 500 and a fault complaining about: > <faultcode>env:VersionMismatch</faultcode> > <faultstring>Transport level information does not match with SOAP Message > namespace URI</faultstring> > > > Using Eclipse TCP/IP Mon, modify and resend the original request with the > intended SOAPAction, but the same result arrives. > > Using Eclipse TCP/IP Mon, modify and resend the original request using the > following Content-type and all is well (and for kicks , SOAPAction and > correct Content-type is also fine): > Content-Type: application/soap+xml > > > > Some Details > * I've noticed the SOAP namespace for the actual WSDL is actually soap1.1 > (http...schemas.xmlsoap.org/wsdl/soap/...). Is that causing the issue? > > * Setting to ...soapVersion="1.1"... works fine > > * Out of curiosity, if I wanted the SOAPAction to be set using the actions > in the WSDL, but without statically defining it for the entire service (as > that would break this example given no CBR and multiple operations at the > same endpoint), how would I go about doing that? > -- > View this message in context: > http://www.nabble.com/servicemix-http%3A-Content-type-HTTP-Header-Causing-Fault-in-SOAP-1.2-Request-tp19545392p19545392.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://open.iona.com
