Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting no SOAPAction header error in sending a SOAP request as HTTP POST

Tags:

I am sending a SOAP Request as HTTP POST in SOAPUI due to some project constraints. My Request is here :

POST httplink HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "urn:HPD_IncidentInterface_WS/HelpDesk_Query_Service"
Content-Length: 725
Host: itsm-mt-dev
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:HPD_IncidentInterface_WS">
   <soapenv:Header>
      <urn:AuthenticationInfo>
         <urn:userName>XXXXXXXXXX</urn:userName>
         <urn:password>XXXXXXXXX</urn:password>
         <!--Optional:-->
         <urn:authentication>?</urn:authentication>
         <!--Optional:-->
         <urn:locale>?</urn:locale>
         <!--Optional:-->
         <urn:timeZone>?</urn:timeZone>
      </urn:AuthenticationInfo>
   </soapenv:Header>
   <soapenv:Body>
      <urn:HelpDesk_Query_Service>
         <urn:Incident_Number>XXXXXXXXXX</urn:Incident_Number>
      </urn:HelpDesk_Query_Service>
   </soapenv:Body>
</soapenv:Envelope>

Although I had set SOAPAction header, still I am getting no SOAPAction header error.

Response as follows:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
         <faultstring>no SOAPAction header!</faultstring>
         <detail>
            <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">itsm-mt-dev</ns2:hostname>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

Can anyone suggest me what we can do here ?

like image 543
Arun Avatar asked Apr 16 '14 16:04

Arun


People also ask

Is SOAPAction header required?

The SOAPAction HTTP header is required by SOAP 1.1 and therefore by the WSA. It can be blank or have a value, but the HTTP header has to be there. Also, take a look at the service's WSDL, and if it includes "soapAction" then the client must meet the API's specification.

What is SOAPAction in HTTP header?

SOAPAction. The SOAPAction header is a transport protocol header (either HTTP or JMS). It is transmitted with SOAP messages, and provides information about the intention of the web service request, to the service. The WSDL interface for a web service defines the SOAPAction header value used for each operation.


1 Answers

It looks like you are sending an incorrect soapAction header. Look at the WSDL and find out the value for soapAction element for the service being tested.

In the WSDL look for a line similar to <soap:operation soapAction="http://example.com/GetLastTradePrice"/>.

like image 147
Abhishek Asthana Avatar answered Oct 13 '22 11:10

Abhishek Asthana