axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dennis Sosnoski (JIRA)" <>
Subject [jira] Updated: (AXIS2-667) Operation dispatch based on message body is broken
Date Thu, 04 May 2006 14:05:22 GMT
     [ ]

Dennis Sosnoski updated AXIS2-667:

    Attachment: patch.diff

> Operation dispatch based on message body is broken
> --------------------------------------------------
>          Key: AXIS2-667
>          URL:
>      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:
For more information on JIRA, see:

View raw message