[ 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