Nisheedh

For Axis2, and SOAP12, you don't need to send a SOAP action header.

You do need to help Axis2 figure out what the operation is tho.

The process by which Axis2 decides the service and operation is called
"dispatching". There are multiple dispatchers that look for different
things:

URL - you can specify /axis2/services/ServiceName/OperationName
SOAPAction
WS-Addressing headers (e.g. wsa:Action)
SOAPBody

These are executed in order, and once it has found a service and
operation name it stops.

The SOAPMessageBodyBasedDispatcher will try to set the operation to be
the tagname of the first element in the SOAP body.

Paul

On 1/12/07, Nisheed Raveendran <[EMAIL PROTECTED]> wrote:

Hi Anne,

   Thanks for SoapAction header clarification in Soap 1.1.  With axis2,
I am forcea to send SOAPAction for Soap 1.2 web service also. Is this a
bug in axis2?

Regards,
Nisheedh


-----Original Message-----
From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 11, 2007 10:01 PM
To: axis-user@ws.apache.org
Subject: Re: SOAPAction in axis2

SOAP 1.1 requires that the SOAPAction header be present.

Anne

On 1/11/07, Nisheed Raveendran <[EMAIL PROTECTED]> wrote:
>
>
>
>
> 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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
[EMAIL PROTECTED]

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to