You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "S?bastien Tardif (JIRA)" <ax...@ws.apache.org> on 2004/11/23 18:57:29 UTC

[jira] Updated: (AXIS-1572) SOAPAction have to be specified with value or empty. JavaDoc said it's optional.

     [ http://nagoya.apache.org/jira/browse/AXIS-1572?page=history ]

Sébastien Tardif updated AXIS-1572:
-----------------------------------

    Attachment: diff.txt

Attached is the patch using "cvs diff -u". ant clean all-tests run succesfully.

I don't know if TCK test is part of the test suite but if JWSDP doesn't break with it I guess it sound good.

Also I wonder how many test of the TCK required the framework to send an error message when the framework has enough information to proceed. The TCK probably focus on things that the framework generate.

> SOAPAction have to be specified with value or empty. JavaDoc said it's optional.
> --------------------------------------------------------------------------------
>
>          Key: AXIS-1572
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1572
>      Project: Axis
>         Type: Bug
>     Versions: 1.2 Beta
>  Environment: 1.2 Beta current
>     Reporter: Sébastien Tardif
>  Attachments: diff.txt
>
> SOAPAction have to be specified with value or empty. JavaDoc said it's optional.
> The javadoc is:
> http://ws.apache.org/~dims/axisdiff/newdocs/org/apache/axis/transport/http/AxisServlet.html#getSoapAction(javax.servlet.http.HttpServletRequest)
> extract:
> Extract the SOAPAction header. if SOAPAction is null then we'll we be forced to scan the body for it. if SOAPAction is "" then use the URL 
> But the code is like this:
> private String getSoapAction(HttpServletRequest req)
>         throws AxisFault
>     {
>         String soapAction =req.getHeader(HTTPConstants.HEADER_SOAP_ACTION);
>         if(isDebug) log.debug("HEADER_SOAP_ACTION:" + soapAction);
>         /**
>          * Technically, if we don't find this header, we should probably fault.
>          * It's required in the SOAP HTTP binding.
>          */
>         if (soapAction == null) {
>             AxisFault af = new AxisFault("Client.NoSOAPAction",
>                                          Messages.getMessage("noHeader00",
>                                                               "SOAPAction"),
>                                          null, null);
>             exceptionLog.error(Messages.getMessage("genFault00"), af);
>             throw af;
>         }
>         // the SOAP 1.1 spec & WS-I 1.0 says:
>         // soapaction    = "SOAPAction" ":" [ <"> URI-reference <"> ]
>         // some implementations leave off the quotes
>         // we strip them if they are present
>         if (soapAction.startsWith("\"") && soapAction.endsWith("\"")
>                 && soapAction.length()>=2) {
>             int end = soapAction.length() - 1;
>             soapAction = soapAction.substring(1, end);
>         }
> Also XMLSpy latest version generate SOAP without SOAPAction header.
> JWSDP webservice framework work without any problem.
> I believe in production it doesn't make much sence to crash... we want the customer having less problem as possible. Maybe in a debugging mode Axis could show warning. I really don't understand why we want to throw an exception when we know how to continue...

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira