axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <axis-...@ws.apache.org>
Subject [jira] [Resolved] (AXIS-2445) Concurrency problem in Axis using JAX-RPC
Date Wed, 03 Oct 2012 17:18:09 GMT

     [ 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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message