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 "Jeff Barrett (JIRA)" <ji...@apache.org> on 2007/02/14 17:16:05 UTC

[jira] Commented: (AXIS2-2178) The wrong AxisOperation could be resolved to if SOAPAction is not unique across the AxisService

    [ https://issues.apache.org/jira/browse/AXIS2-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473131 ] 

Jeff Barrett commented on AXIS2-2178:
-------------------------------------

I am working on a patch for this.

> The wrong AxisOperation could be resolved to if SOAPAction is not unique across the AxisService
> -----------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-2178
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2178
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>            Reporter: Jeff Barrett
>         Assigned To: Jeff Barrett
>
> When a SOAPAction is added to an AxisService for an operation, it is put into a HashMap of various aliases for operations under that service.  If that SOAPAction already existed in the hashmap, the new mapping simply overwrites the old mapping.
> That may cause an incoming message to be rounted to the wrong operation.  For example, if my WSDL has operations A() and B() , both of which have the SOAPAction "myAction", the last operation added to the alias map is the one that will receive all requests with a SOAPAction of "myAction".
> I believe the appropriate fix is as follows:
> 1) Before adding to the alias map, check if that alias already exists in the aliasMap or in the invalid aliases map (see 3c)
> 2) If so, and the operations match, then simply return.
> 3) If the operations do not match
> 3a) Do not add this operation
> 3b) Remove the operation that is already in the alias map
> 3c) Add this alias to a list of invalid aliases
> 3d) And do not add this alias to the aliasMap. 
> The effect of this change is that IF a SOAPAction maps to more than one operation under a service, that SOAPAction will not be used to route incoming messages, since there is no way to determine WHICH operation the message is actually destined for based on the SOAPAction.

-- 
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