axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Eckoldt (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-939) Client API does not remove OperationContext instances from configuration context after MEP completes
Date Mon, 18 Sep 2006 12:51:22 GMT
    [ 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message