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 "Dennis Sosnoski (JIRA)" <ji...@apache.org> on 2006/05/04 16:05:21 UTC

[jira] Created: (AXIS2-667) Operation dispatch based on message body is broken

Operation dispatch based on message body is broken
--------------------------------------------------

         Key: AXIS2-667
         URL: http://issues.apache.org/jira/browse/AXIS2-667
     Project: Apache Axis 2.0 (Axis2)
        Type: Bug

  Components: core  
    Versions: 1.0    
 Environment: n/a
    Reporter: Dennis Sosnoski
    Priority: Critical
 Attachments: patch.diff

In working with doc/lit services where the operation was defined by the child element of the SOAP:Body I found that Axis2 was trying to dispatch the wrong operation. I tracked this down to the way org.apache.axis2.description.AxisService sets up the operationsAliasMap, where on line 329 it adds an entry mapping the getSoapAction() value to the operation. If the soap actions for the operations are empty strings, as normally occurs with doc/lit, the empty string will end up mapped to the last operation encountered. org.apache.axis2.deployment.ServiceBuilder then maps the empty strings again by calling the mapActionToOperation() method of the service.

org.apache.axis2.engine.SOAPActionBasedDispatcher tries to look up the operation based on the soap action string (line 54). This results in the last operation being invoked for every service request.

The fix is to make the AxisService code only map the soap action if the string is non-empty. I'm attaching diffs for the fix, but not committing it myself because of the imminent 1.0 release. I have tested the patches and passed all the build tests. I urge strongly that this patch be reviewed and applied before the 1.0 release.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (AXIS2-667) Operation dispatch based on message body is broken

Posted by "Dennis Sosnoski (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-667?page=all ]

Dennis Sosnoski updated AXIS2-667:
----------------------------------

    Attachment: patch.diff

> Operation dispatch based on message body is broken
> --------------------------------------------------
>
>          Key: AXIS2-667
>          URL: http://issues.apache.org/jira/browse/AXIS2-667
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: core
>     Versions: 1.0
>  Environment: n/a
>     Reporter: Dennis Sosnoski
>     Priority: Critical
>  Attachments: patch.diff
>
> In working with doc/lit services where the operation was defined by the child element of the SOAP:Body I found that Axis2 was trying to dispatch the wrong operation. I tracked this down to the way org.apache.axis2.description.AxisService sets up the operationsAliasMap, where on line 329 it adds an entry mapping the getSoapAction() value to the operation. If the soap actions for the operations are empty strings, as normally occurs with doc/lit, the empty string will end up mapped to the last operation encountered. org.apache.axis2.deployment.ServiceBuilder then maps the empty strings again by calling the mapActionToOperation() method of the service.
> org.apache.axis2.engine.SOAPActionBasedDispatcher tries to look up the operation based on the soap action string (line 54). This results in the last operation being invoked for every service request.
> The fix is to make the AxisService code only map the soap action if the string is non-empty. I'm attaching diffs for the fix, but not committing it myself because of the imminent 1.0 release. I have tested the patches and passed all the build tests. I urge strongly that this patch be reviewed and applied before the 1.0 release.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS2-667) Operation dispatch based on message body is broken

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-667?page=comments#action_12377901 ] 

Davanum Srinivas commented on AXIS2-667:
----------------------------------------

How many more RC's should we release???? We can always do a 1.0.1 in a week if needed.

thanks,
dims

> Operation dispatch based on message body is broken
> --------------------------------------------------
>
>          Key: AXIS2-667
>          URL: http://issues.apache.org/jira/browse/AXIS2-667
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: core
>     Versions: 1.0
>  Environment: n/a
>     Reporter: Dennis Sosnoski
>     Priority: Critical
>  Attachments: patch.diff
>
> In working with doc/lit services where the operation was defined by the child element of the SOAP:Body I found that Axis2 was trying to dispatch the wrong operation. I tracked this down to the way org.apache.axis2.description.AxisService sets up the operationsAliasMap, where on line 329 it adds an entry mapping the getSoapAction() value to the operation. If the soap actions for the operations are empty strings, as normally occurs with doc/lit, the empty string will end up mapped to the last operation encountered. org.apache.axis2.deployment.ServiceBuilder then maps the empty strings again by calling the mapActionToOperation() method of the service.
> org.apache.axis2.engine.SOAPActionBasedDispatcher tries to look up the operation based on the soap action string (line 54). This results in the last operation being invoked for every service request.
> The fix is to make the AxisService code only map the soap action if the string is non-empty. I'm attaching diffs for the fix, but not committing it myself because of the imminent 1.0 release. I have tested the patches and passed all the build tests. I urge strongly that this patch be reviewed and applied before the 1.0 release.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS2-667) Operation dispatch based on message body is broken

Posted by "Dennis Sosnoski (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-667?page=comments#action_12377897 ] 

Dennis Sosnoski commented on AXIS2-667:
---------------------------------------

Personally I think the code quality would benefit from a week of lockdown prior to 1.0 release, where developers focused on testing and only serious bug fixes were allowed into svn. There seem to be a lot of broken features for a 1.0 release. I'm investigating another problem now where an operation that returns an empty response element goes astray, getting misdirected to RawXMLINOnlyMessageReceiver. These are serious problems in the basic functioning of the framework, as are many of the other bugs still being reported. To release 1.0 with these outstanding doesn't make for a good first impression.

> Operation dispatch based on message body is broken
> --------------------------------------------------
>
>          Key: AXIS2-667
>          URL: http://issues.apache.org/jira/browse/AXIS2-667
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: core
>     Versions: 1.0
>  Environment: n/a
>     Reporter: Dennis Sosnoski
>     Priority: Critical
>  Attachments: patch.diff
>
> In working with doc/lit services where the operation was defined by the child element of the SOAP:Body I found that Axis2 was trying to dispatch the wrong operation. I tracked this down to the way org.apache.axis2.description.AxisService sets up the operationsAliasMap, where on line 329 it adds an entry mapping the getSoapAction() value to the operation. If the soap actions for the operations are empty strings, as normally occurs with doc/lit, the empty string will end up mapped to the last operation encountered. org.apache.axis2.deployment.ServiceBuilder then maps the empty strings again by calling the mapActionToOperation() method of the service.
> org.apache.axis2.engine.SOAPActionBasedDispatcher tries to look up the operation based on the soap action string (line 54). This results in the last operation being invoked for every service request.
> The fix is to make the AxisService code only map the soap action if the string is non-empty. I'm attaching diffs for the fix, but not committing it myself because of the imminent 1.0 release. I have tested the patches and passed all the build tests. I urge strongly that this patch be reviewed and applied before the 1.0 release.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (AXIS2-667) Operation dispatch based on message body is broken

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-667?page=all ]
     
Davanum Srinivas resolved AXIS2-667:
------------------------------------

    Resolution: Fixed

Patch is in latest SVN.

thanks,
dims

> Operation dispatch based on message body is broken
> --------------------------------------------------
>
>          Key: AXIS2-667
>          URL: http://issues.apache.org/jira/browse/AXIS2-667
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: core
>     Versions: 1.0
>  Environment: n/a
>     Reporter: Dennis Sosnoski
>     Priority: Critical
>  Attachments: patch.diff
>
> In working with doc/lit services where the operation was defined by the child element of the SOAP:Body I found that Axis2 was trying to dispatch the wrong operation. I tracked this down to the way org.apache.axis2.description.AxisService sets up the operationsAliasMap, where on line 329 it adds an entry mapping the getSoapAction() value to the operation. If the soap actions for the operations are empty strings, as normally occurs with doc/lit, the empty string will end up mapped to the last operation encountered. org.apache.axis2.deployment.ServiceBuilder then maps the empty strings again by calling the mapActionToOperation() method of the service.
> org.apache.axis2.engine.SOAPActionBasedDispatcher tries to look up the operation based on the soap action string (line 54). This results in the last operation being invoked for every service request.
> The fix is to make the AxisService code only map the soap action if the string is non-empty. I'm attaching diffs for the fix, but not committing it myself because of the imminent 1.0 release. I have tested the patches and passed all the build tests. I urge strongly that this patch be reviewed and applied before the 1.0 release.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS2-667) Operation dispatch based on message body is broken

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-667?page=comments#action_12377831 ] 

Davanum Srinivas commented on AXIS2-667:
----------------------------------------

post 1.0 please...let's review this in for a possible 1.0.1 soon if it turns to be a huge problem.

> Operation dispatch based on message body is broken
> --------------------------------------------------
>
>          Key: AXIS2-667
>          URL: http://issues.apache.org/jira/browse/AXIS2-667
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: core
>     Versions: 1.0
>  Environment: n/a
>     Reporter: Dennis Sosnoski
>     Priority: Critical
>  Attachments: patch.diff
>
> In working with doc/lit services where the operation was defined by the child element of the SOAP:Body I found that Axis2 was trying to dispatch the wrong operation. I tracked this down to the way org.apache.axis2.description.AxisService sets up the operationsAliasMap, where on line 329 it adds an entry mapping the getSoapAction() value to the operation. If the soap actions for the operations are empty strings, as normally occurs with doc/lit, the empty string will end up mapped to the last operation encountered. org.apache.axis2.deployment.ServiceBuilder then maps the empty strings again by calling the mapActionToOperation() method of the service.
> org.apache.axis2.engine.SOAPActionBasedDispatcher tries to look up the operation based on the soap action string (line 54). This results in the last operation being invoked for every service request.
> The fix is to make the AxisService code only map the soap action if the string is non-empty. I'm attaching diffs for the fix, but not committing it myself because of the imminent 1.0 release. I have tested the patches and passed all the build tests. I urge strongly that this patch be reviewed and applied before the 1.0 release.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira