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

Reply via email to