Announcement Announcement Module
Collapse
No announcement yet.
webservice outbound gateway always sets an empty SoapAction - how do I remove Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    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

    Comment


    • #3
      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, 07:22 AM.

      Comment


      • #4
        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

        Comment


        • #5
          Thanks for your reply.

          I have now found the correct value for the SOAPAction.

          Comment

          Working...
          X