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