[ 
http://issues.apache.org/jira/browse/AXIS2-939?page=comments#action_12435471 ] 
            
Thomas Eckoldt commented on AXIS2-939:
--------------------------------------

Please re-open the issue (I don't seem to have the access-rights to do it), the 
problem still exists.
The method call in InstanceDispatcher occurs only in certain circumstances. In 
my case the method returns
in the first if-statement and never reaches the code block you mentioned:

    public void invoke(MessageContext msgContext) throws AxisFault {
        ServiceContext serviceContext = msgContext.getServiceContext();

        if ((msgContext.getOperationContext() != null)
                && (serviceContext != null)) {
            msgContext.setServiceGroupContextId(
                    ((ServiceGroupContext) serviceContext.getParent()).getId());

            return; 
        }
        .....




> Client API does not remove OperationContext instances from configuration 
> context after MEP completes
> ----------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-939
>                 URL: http://issues.apache.org/jira/browse/AXIS2-939
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: client-api
>    Affects Versions: 1.0
>            Reporter: Thomas Eckoldt
>         Assigned To: Deepal Jayasinghe
>
> I'm using the ServiceClient class to make SOAP calls to a web service 
> provider. The used MEP is OUT-IN, transport is HTTP. In case of a synchronous 
> single transport operation, AxisOperation.registerOperationContext() is 
> called twice, once for the outgoing message (request) and once for the 
> incoming message (response). Each message will have a unique message id 
> assigned. AxisOperation.registerOperationContext() calls 
> ConfigurationContext.registerOperationContext() with the message id as 
> argument. This means the OperationContext is stored in the operation context 
> map with the message id as key and it means, if this method is called twice, 
> you will end with two entries in the map. Only one (the last) will be removed 
> from the map by OperationContext.cleanup(). 
> Another case is for asynchronous dual transport operations using WS-A. For 
> the outgoing message everything is fine, the OperationContext is registered 
> in the map and contains the MessageContext for the outgoing message. But when 
> the response is received, the AddressingBasedDispatcher class does not 
> register the message context in the operation context (in method invoke()). 
> This means the operation context contains only the OUT-MessageContext, not 
> the IN-MessageContext and will never be removed from the context operation 
> map. 

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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to