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

Andreas Veithen resolved AXIS-2445.
-----------------------------------

       Resolution: Duplicate
    Fix Version/s: 1.4.1
    
> Concurrency problem in Axis using JAX-RPC
> -----------------------------------------
>
>                 Key: AXIS-2445
>                 URL: https://issues.apache.org/jira/browse/AXIS-2445
>             Project: Axis
>          Issue Type: Bug
>          Components: Basic Architecture
>    Affects Versions: 1.2.1
>         Environment: Axis 1.2.1
> Spring 1.2.7
> JDK 1.4.2
> Oracle AS 10.1.2 or Tomcat 4.1
>            Reporter: Peter Rohne
>             Fix For: 1.4.1
>
>
> On the client side there is a threading problem because paramaters from two 
> user requests are being added to the same parameter list. I'm using the 
> Spring JaxRpcPortClientInterceptor which does the following:
> Call call = service.createCall(portQName, invocation.getMethod().getName());
> ...
> try {
>       return call.invoke(invocation.getArguments());
> }
> ...
> Axis keeps an instance of the created Call on the Service. Have a look at
> org.apache.axis.client.Service.createCall(). It updates the instance variable 
> "_call" with a new instance on every call. Furthermore, Call has the Service 
> as an instance variable as well. This is passed into the Call constructor, 
> and Call uses the service in the method Call.invokeEngine(...). This is 
> un-thread-safe and probably the reason for the parameters on Call getting 
> messed up.
> Stack trace:
> org.springframework.remoting.RemoteAccessException: Cannot access remote 
> service 
> [{http://webservice.impl.enrolment.service.maa.agr.gc.ca}SpringMAAEnrolmentServiceEndPoint];
>  nested exception is org.apache.axis.AxisFault: ; nested exception is:
>       javax.xml.rpc.JAXRPCException: Number of parameters passed in (6) 
> doesn't match the number of IN/INOUT parameters (11) from the addParameter() 
> calls
> AxisFault
>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>  faultSubcode:
>  faultString: javax.xml.rpc.JAXRPCException: Number of parameters passed in 
> (6) doesn't match the number of IN/INOUT parameters (11) from the 
> addParameter() calls
>  faultActor:
>  faultNode:
>  faultDetail:
>       {http://xml.apache.org/axis/}stackTrace:javax.xml.rpc.JAXRPCException: 
> Number of parameters passed in (6) doesn't match the number of IN/INOUT 
> parameters (11) from the addParameter() calls
>       at org.apache.axis.client.Call.getParamList(Call.java:2042)
>       at org.apache.axis.client.Call.invoke(Call.java:2345)
>       at org.apache.axis.client.Call.invoke(Call.java:1804) 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
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