[ 
https://issues.apache.org/jira/browse/AXIS2-2864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Davanum Srinivas updated AXIS2-2864:
------------------------------------

    Assignee: Deepal Jayasinghe  (was: Davanum Srinivas)

> JMS addressing (SOAPBody addressing) is broken. The new dispatchers can't 
> resolve the required operation
> --------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-2864
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2864
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: Addressing
>    Affects Versions: 1.3
>         Environment: Windows XP Tomcat 6.0.10 WebsphereMQ
>            Reporter: Mark Badorrek
>            Assignee: Deepal Jayasinghe
>            Priority: Blocker
>             Fix For: 1.3
>
>
> When sending a JMS message to Axis2 (nightly build) the configured 
> dispatchers can't figure out what operation to use.
> We are not using WS-Addressing. (Although it is enabled in the axis2.xml file)
> Firstly, the InFlow dispatchers are (in order):
> org.apache.axis2.dispatchers.RequestURIBasedDispatcher
> org.apache.axis2.dispatchers.SOAPActionBasedDispatcher
> org.apache.axis2.dispatchers.AddressingBasedDispatcher
> org.apache.axis2.dispatchers.RequestURIOperationDispatcher
> org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher
> All standard stuff except the last (and missing) dispatcher 
> 'HTTPLocationBasedDispatcher' has been removed.
> Of all of these, I expected the last one, 'SOAPMessageBodyBasedDispatcher' to 
> resolve the operation name.
> The JMS message body is as follows:
> ----------------------------
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>       <SOAP-ENV:Body>
>               <m:GetAddressRequestParameter xmlns:m="http://demo";>
>                       <AddressID>String</AddressID>
>               </m:GetAddressRequestParameter>
>       </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> ----------------------------
> So when 'SOAPMessageBodyBasedDispatcher'  attempts to work out what to do, it 
> ends up with the magic string 'GetAddressRequestParameter'. It then attempts 
> to resolve this into an operation. (This being the first child element after 
> the 'Body' element)
> Inside 'SOAPMessageBodyBasedDispatcher'  we end up in calling 
> 'org.apache.axis2.description.AxisService', method 'getOperation' .
> This method uses our magic variable 'GetAddressRequestParameter' to perform a 
> lookup on the Map 'operationsAliasesMap' to determine what operation to use.
> Unfortunately this lookup fails as the Map 'operationsAliasesMap' only 
> contains the following keys:
> GetAddress
> GetAddressRequest
> urn:GetAddress
> GetAddressResponse
> and importantly does *not* contain our key 'GetAddressRequestParameter'. So 
> no operation for us and our call fails. :-(
> -------------------------------------------------------
> It's quite possible that I'm miss-using the new dispatchers in some way, as 
> I'm not an expert with them. As such I'm not really keen to attempt a patch 
> for fear of breaking other (HTTP) code.
> Please note that the test JMS code was working last week.

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to