Results 1 to 5 of 5

Thread: webservice outbound gateway always sets an empty SoapAction - how do I remove

  1. #1

    Default webservice outbound gateway always sets an empty SoapAction - how do I remove

    Is there away to stop the int-ws:outbound-gateway from setting the a SOAP Action in the outgoing SOAP header

    We're getting an empty string value, if we inspect the message in TCPMon

    SOAPAction: ""

    The web service I want to call expects no SOAPAction at all.

    There seems to be plenty of examples of how to set a specific value into the SOAPAction (using a header enricher) but none showing how to remove.

    We're using Spring Integration 2.1.2.RELEASE

  2. #2
    Join Date
    Jan 2009
    Location
    Ukraine, Kharkov
    Posts
    645

    Default

    Hi!
    H-m...
    I don't understand the requirements of such task.
    If we read the specification http://www.w3.org/TR/2000/NOTE-SOAP-...#_Toc478383528 we understand SOAPAction doesn't
    play a big role...
    Can you explian a use-case of your service? What problem are getting when you send an empy SOAPAction ?
    As I see everywhere in the Spring-WS "null" SOAPAction is converted into "empty" SOAPAction: SoapUtils.escapeAction()...

    Take care,
    Artem

  3. #3

    Default

    The webservice I need to call is implemented in .NET and expects there to be no SOAPAction at all. If I call the webservice using a test tool like SOAPUI all is fine, and I can see that the SOAPAction header is NOT present at all.

    But when I call from Spring Integration I get:-

    Code:
    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soap:Body>
    <soap:Fault>
    <faultcode>soap:Client</faultcode>
    <faultstring>Server did not recognize the value of HTTP Header SOAPAction: .</faultstring>
    <detail/>
    </soap:Fault>
    </soap:Body>
    </soap:Envelope>
    because headers are

    POST /xxxxxService/xxxxxxxxxxxxSerrvice.asmx HTTP/1.1
    Accept-Encoding: gzip
    Content-Type: text/xml; charset=utf-8
    SOAPAction: ""
    Accept: text/xml
    Cache-Control: no-cache


    So the endpoint is obviously not very flexible, but we can't change the implementation.
    Last edited by PeteTh; Oct 17th, 2012 at 06:22 AM.

  4. #4
    Join Date
    Jan 2009
    Location
    Ukraine, Kharkov
    Posts
    645

    Default

    Server did not recognize the value of HTTP Header SOAPAction:
    But how about to put correct value for 'SOAPAction'?..
    And don't fight with an empy one...
    What I can recommend to take a look into custom WebServiceMessageCallback where you can try to create a new SoapMessage with 'null' SOAPAction based on incoming Message.
    But I'm about AxiomSoapMessage here...

    Sorry I don't see any other point to fix it.

    Can you ask this question on Spring WS forum: http://forum.springsource.org/forumd...9-Web-Services ?

    Hope that helps

  5. #5

    Default

    Thanks for your reply.

    I have now found the correct value for the SOAPAction.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •