Details
-
Bug
-
Status: Resolved
-
Resolution: Fixed
-
None
-
None
-
None
-
Operating System: Linux
Platform: PC
-
11706
Description
The following exception is being thrown by Axis:
- Exception:
java.lang.ArrayStoreException
at org.apache.axis.utils.JavaUtils.convert(JavaUtils.java:365)
at org.apache.axis.encoding.ser.BeanPropertyTarget.set
(BeanPropertyTarget.java:109)
at org.apache.axis.encoding.DeserializerImpl.valueComplete
(DeserializerImpl.java:260)
at org.apache.axis.encoding.ser.ArrayDeserializer.valueComplete
(ArrayDeserializer.java:520)
at org.apache.axis.encoding.DeserializerImpl.endElement
(DeserializerImpl.java:503)
at org.apache.axis.encoding.DeserializationContextImpl.endElement
(DeserializationContextImpl.java:908)
at org.apache.axis.message.SAX2EventRecorder.replay
(SAX2EventRecorder.java:205)
at org.apache.axis.message.MessageElement.publishToHandler
(MessageElement.java:664)
at org.apache.axis.encoding.DeserializerImpl.startElement
(DeserializerImpl.java:371)
at org.apache.axis.encoding.DeserializationContextImpl.startElement
(DeserializationContextImpl.java:874)
at org.apache.axis.message.SAX2EventRecorder.replay
(SAX2EventRecorder.java:199)
at org.apache.axis.message.MessageElement.publishToHandler
(MessageElement.java:664)
at org.apache.axis.encoding.DeserializerImpl.startElement
(DeserializerImpl.java:371)
at org.apache.axis.encoding.DeserializationContextImpl.startElement
(DeserializationContextImpl.java:874)
at org.apache.axis.message.SAX2EventRecorder.replay
(SAX2EventRecorder.java:199)
at org.apache.axis.message.MessageElement.publishToHandler
(MessageElement.java:664)
at org.apache.axis.encoding.DeserializerImpl.startElement
(DeserializerImpl.java:371)
at org.apache.axis.encoding.ser.BeanDeserializer.startElement
(BeanDeserializer.java:171)
at org.apache.axis.encoding.DeserializationContextImpl.startElement
(DeserializationContextImpl.java:874)
at org.apache.axis.message.SAX2EventRecorder.replay
(SAX2EventRecorder.java:199)
at org.apache.axis.message.MessageElement.publishToHandler
(MessageElement.java:664)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:250)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:274)
at org.apache.axis.client.Call.invoke(Call.java:1862)
at org.apache.axis.client.Call.invoke(Call.java:1767)
at org.apache.axis.client.Call.invoke(Call.java:1307)
at ... the WSDL2Java generated stubs ...
Environment:
Axis version is a nightly build from 20020807. Server is running under tomcat
4.0.4 with JDK 1.4 on Linux. Client is stand-alone app running on JDK 1.4 on
Linux (same box.)
My service returns a fairly large bean with a lot of nested bean properties
and/or arrays of beans.
My client is a multi-threaded client with one thread per (WSDL2Java generated)
stub instance. Each thread repeatedly calls the same service method. The
service blocks all clients until a state change occurs at which time it
unblocks the clients and they all tend to return from the sevice method at the
same time.
The problem seems to happen more often when I run with more client
threads/stubs. They seem to occur after 100 - 200 calls to the service method
but that is a very rough estimate and there doesn't seem to be a pattern there.