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 "Amanda Hopgood (JIRA)" <ji...@apache.org> on 2005/03/07 10:32:53 UTC

[jira] Created: (AXIS2-15) SOAP response returned in 202 error code

SOAP response returned in 202 error code
----------------------------------------

         Key: AXIS2-15
         URL: http://issues.apache.org/jira/browse/AXIS2-15
     Project: Axis2
        Type: New Feature
 Environment: Axis 1.2RC3
    Reporter: Amanda Hopgood
 Assigned to: Davanum Srinivas 
    Priority: Minor


I have a system using Axis 1.2 RC3 which is communicating with a remote application. The remote application sends back 202 for success with a SOAPResponse in. Our application is expected to be able to decode the soapresponse returned.
However we are using the standard HTTPSender, and this has code that means that the SOAPResponse is not decoded by Axis if its in a 202.
This appears to be controlled by the readFromSocket method in the HTTPSender where it states:
 	if ((returnCode > 199) && (returnCode < 300)) {
        	if (returnCode == 202)
            	return inp;
            // SOAP return is OK - so fall through

However the equivalent code doesn't appear to be in the CommonsHTTPSender (but we have other problems using Commons).

Is it possible to update the current HTTPSender to remove the special case of 202, or make it configurable as to whether it treats 202 as a special case, or provide an extra sender that is same as HTTPSender but doesn't treat 202 differently to 200.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.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


[jira] Commented: (AXIS-1845) SOAP response returned in 202 error code

Posted by "Amanda Hopgood (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS-1845?page=comments#action_61132 ]
     
Amanda Hopgood commented on AXIS-1845:
--------------------------------------

The spec also states:

R1124 An INSTANCE MUST use a 2xx HTTP status code on a response message that indicates the successful outcome of a HTTP request.

R1111 An INSTANCE SHOULD use a "200 OK" HTTP status code on a response message that contains an envelope that is not a fault.

R1112 An INSTANCE SHOULD use either a "200 OK" or "202 Accepted" HTTP status code for a response message that does not contain a SOAP envelope but indicates the successful outcome of a HTTP request.

Despite the fact that the HTTP 1.1 assigns different meanings to response status codes "200" and "202", in the context of the Profile they should be considered equivalent by the initiator of the request. The Profile accepts both status codes because some SOAP implementations have little control over the HTTP protocol implementation and cannot control which of these response status codes is sent. 



So all it states is that you MUST put the soap envelope in a 2xx code. Its only a should (recommendation) that a soap envelope should use a 200 code. Therefore due to the comments in the section after R1112 then 200 and 202 should be treated equivalently.
We have the problem that the application we are talking to is not going against spec as the only mandatory thing is that they put the soap response into a 2xx http response. However when they do that we don't get it decoded by the axis.  So we are not meeting the comment "status codes '200' and '202', in the context of the Profile they should be considered equivalent by the initiator of the request"

> SOAP response returned in 202 error code
> ----------------------------------------
>
>          Key: AXIS-1845
>          URL: http://issues.apache.org/jira/browse/AXIS-1845
>      Project: Axis
>         Type: Bug
>  Environment: Axis 1.2RC3
>     Reporter: Amanda Hopgood
>     Assignee: Davanum Srinivas
>     Priority: Minor

>
> I have a system using Axis 1.2 RC3 which is communicating with a remote application. The remote application sends back 202 for success with a SOAPResponse in. Our application is expected to be able to decode the soapresponse returned.
> However we are using the standard HTTPSender, and this has code that means that the SOAPResponse is not decoded by Axis if its in a 202.
> This appears to be controlled by the readFromSocket method in the HTTPSender where it states:
>  	if ((returnCode > 199) && (returnCode < 300)) {
>         	if (returnCode == 202)
>             	return inp;
>             // SOAP return is OK - so fall through
> However the equivalent code doesn't appear to be in the CommonsHTTPSender (but we have other problems using Commons).
> Is it possible to update the current HTTPSender to remove the special case of 202, or make it configurable as to whether it treats 202 as a special case, or provide an extra sender that is same as HTTPSender but doesn't treat 202 differently to 200.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.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


[jira] Commented: (AXIS-1845) SOAP response returned in 202 error code

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS-1845?page=comments#action_60904 ]
     
Davanum Srinivas commented on AXIS-1845:
----------------------------------------

As per BP 1.1 - http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html

R1112   An INSTANCE SHOULD use either a "200 OK" or "202 Accepted" HTTP status code for a response message that does not contain a SOAP envelope but indicates the successful outcome of a HTTP request.



> SOAP response returned in 202 error code
> ----------------------------------------
>
>          Key: AXIS-1845
>          URL: http://issues.apache.org/jira/browse/AXIS-1845
>      Project: Axis
>         Type: Bug
>  Environment: Axis 1.2RC3
>     Reporter: Amanda Hopgood
>     Assignee: Davanum Srinivas
>     Priority: Minor

>
> I have a system using Axis 1.2 RC3 which is communicating with a remote application. The remote application sends back 202 for success with a SOAPResponse in. Our application is expected to be able to decode the soapresponse returned.
> However we are using the standard HTTPSender, and this has code that means that the SOAPResponse is not decoded by Axis if its in a 202.
> This appears to be controlled by the readFromSocket method in the HTTPSender where it states:
>  	if ((returnCode > 199) && (returnCode < 300)) {
>         	if (returnCode == 202)
>             	return inp;
>             // SOAP return is OK - so fall through
> However the equivalent code doesn't appear to be in the CommonsHTTPSender (but we have other problems using Commons).
> Is it possible to update the current HTTPSender to remove the special case of 202, or make it configurable as to whether it treats 202 as a special case, or provide an extra sender that is same as HTTPSender but doesn't treat 202 differently to 200.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.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


[jira] Updated: (AXIS-1845) SOAP response returned in 202 error code

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS-1845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Davanum Srinivas updated AXIS-1845:
-----------------------------------

    Assignee:     (was: Davanum Srinivas)

> SOAP response returned in 202 error code
> ----------------------------------------
>
>                 Key: AXIS-1845
>                 URL: https://issues.apache.org/jira/browse/AXIS-1845
>             Project: Axis
>          Issue Type: Bug
>         Environment: Axis 1.2RC3
>            Reporter: Amanda Hopgood
>            Priority: Minor
>
> I have a system using Axis 1.2 RC3 which is communicating with a remote application. The remote application sends back 202 for success with a SOAPResponse in. Our application is expected to be able to decode the soapresponse returned.
> However we are using the standard HTTPSender, and this has code that means that the SOAPResponse is not decoded by Axis if its in a 202.
> This appears to be controlled by the readFromSocket method in the HTTPSender where it states:
>  	if ((returnCode > 199) && (returnCode < 300)) {
>         	if (returnCode == 202)
>             	return inp;
>             // SOAP return is OK - so fall through
> However the equivalent code doesn't appear to be in the CommonsHTTPSender (but we have other problems using Commons).
> Is it possible to update the current HTTPSender to remove the special case of 202, or make it configurable as to whether it treats 202 as a special case, or provide an extra sender that is same as HTTPSender but doesn't treat 202 differently to 200.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org