I'd vote for exactly that as well. Being that it's sometimes just plain ignored by clients,
and is still somewhat up for grabs in 1.2, allowing the requirement in Axis to be config'd
off makes sense. On the other hand,in a known environment, you may want to use SOAPAction
to do routing and require it - having the option to require it and having Axis enforce that for you
would still be nice to have. A config option makes sense.

I needed an immediate solution and it turns out to be very trivial to write a Filter
and take an Adapter pattern approach to wrap the ServletRequest so that
any requests w/o a SOAPAction get one before Axis gets the request.

You'd need a servlet 2.3 compliant container ( Filter support ) - most any these days - and you
need to change the DOCTYPE declaration in Axis' web.xml to 2.3, in order to install the
filter.

I mapped the url-pattern 'services/*' to a very simple filter that stuffs a SOAPAction
with an empty string value whenever one isn't sent by the caller.

- Ken


On Wednesday, November 27, 2002, at 12:46 PM, Chris Forbis wrote:

SO if it is not required for 1.2 and axis is heading towards 1.2, why not
make it an option in the config? Require or not to require?)

-----Original Message-----
From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, November 26, 2002 6:38 PM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: SOAPAction HTTP header required (again)

In SOAP 1.1, the SOAPAction header is required, although the contents can be
empty.
In SOAP 1.2, the SOAPAction header is optional.

Anne

-----Original Message-----
From: Xander van der Merwe [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, November 26, 2002 5:46 PM
To: [EMAIL PROTECTED]
Subject: Re: SOAPAction HTTP header required (again)


Ok, according to SOAP1.1 it looks like it is required. It would
not be a bad
idea to put this into the Axis FAQ since it is one of the biggest gotchas
for any Axis newby. It took me a while anyway, to figure out how
to get the
MS Soap Client to work with Axis due to this requirement.

Xander

----- Original Message -----
From: "Ken Pelletier" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, November 27, 2002 11:14 AM
Subject: SOAPAction HTTP header required.


I have a service which I've moved from Apache SOAP to Axis and am now
testing.

Apart from a couple of things, it's working quite well.

I have one instance where a particular client application can no longer
make calls to the service now that it's been placed under Axis, but
could when it was under Apache SOAP.

The client app, which is not under my control, does not send a
SOAPAction HTTP header, so Axis always returns a 'no SOAPAction
header!' fault to the client.

How can I get my service to consumer messages w/o SOAPAction HTTP
headers under Axis?

- Ken






Reply via email to