Hi,

 

     I have a query about SoapAction in axis2.  Why is compulsory to
send a SoapAction header to call axis2 service from curl? 

 

 If SoapAction is not send to a Soap 1.2 service, a fault messages is
generated by axis2.

 

The following call

 

curl --data-binary @soap12.txt --output output.txt --trace-ascii
TRACE_FILE

--silent --trace-time -H "Content-Type:
application/soap+xml;charset=UTF-8"
http://localhost:9090/axis2/services/TestService

 

Generates the fault

 

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Heade
r
/><soapenv:Body><soapenv:Fault><faultcode></faultcode><faultstring>Conte
nt type should be one of /n text/xml/n
application/x-www-form-urlencoded/n multipart/related; nested exception
is: 

                org.apache.axis2.AxisFault: Content type should be one
of /n text/xml/n application/x-www-form-urlencoded/n
multipart/related</faultstring><detail
/></soapenv:Fault></soapenv:Body></soapenv:Envelope>

 

 

  To my understanding, Soap Action is deprecated in Soap 1.2.

 

For Soap1.1 service also, Axis2 is unable to locate the operation
without Soap Action. I am using wrapped document literal style. So axis2
should be able to locate the service from Soap Body.  Am I missing out
something? For Soap 1.1, if I send an empty soap action, the call works
fine.

 

  Why is it compulsory to send an empty Soap action for soap 1.1?

 

  Any thoughts will be appreciated.

 

Regards,

Nisheedh

Reply via email to