axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Haddad" <chris.had...@cobia.net>
Subject soapaction and axis
Date Fri, 19 Apr 2002 05:16:59 GMT
Axis-dev -   I wouldn't belabor this point, as SOAPAction has been a
discussion by the W3C XMLP committee for years with little concrete
resolution/definition, but I have a partner who is trying to connect a
Flash client to Axis, and is running into a few interop issues.
 
I have a question on the handling and presence of the SOAP action
header.  Is it required? It seems that Axis requires a SOAP Action
header, although my understanding of the SOAP 1.2 spec is that the
header is optional..    Axis does use the URL to define/doublecheck the
service, so SOAP Action seems redundant.
 
Here's the relevant AxisServlet.java Code that throws a fault if
SOAPAction is not present:
 
"            tmp = (String) req.getHeader(
HTTPConstants.HEADER_SOAP_ACTION );
        if ( tmp == null ) {
                AxisFault af=  new AxisFault( "Client.NoSOAPAction",
                    JavaUtils.getMessage("noHeader00", "SOAPAction"),
                    null, null );
 
                 log.debug(af);
                throw af; 
            }"
 
But the W3C SOAP 1.2 Part 2 Adjunct spec seems to indicate that the
value MAY be present rather than MUST:
"Use of the SOAP Action feature is OPTIONAL. SOAP Receivers MAY use it
as a hint to optimise processing, but SHOULD NOT require its presence in
order to operate. Support for SOAPAction is OPTIONAL in implementations.
Implementations SHOULD NOT generate or require SOAPAction UNLESS they
have a particular purpose for doing so (e.g., a SOAP Receivers specifies
its use)."
If Axis is requiring SOAPAction, the specification states that we should
be returning a special HTTP code, "The SOAP Receiver SHOULD ensure that
an HTTP status code of 427 (SOAPAction required) is returned to the
corresponding HTTP client."   Is this HTTP status code being set by
Axis?  Although, from a pragmatic viewpoint, if my client can't set
SOAPAction, it probably can't recognize the HTTP status code either..
 
Please let me know if my interpretation is correct, or if I should file
a patch.
 
Thanks,
 
Chris
 

Mime
View raw message