Exception deserializing object arrays sent by .net client
---------------------------------------------------------
Key: AXIS-2252
URL: http://issues.apache.org/jira/browse/AXIS-2252
Project: Apache Axis
Type: Bug
Components: Serialization/Deserialization
Versions: 1.2.1
Environment: .net framework 1.1 Visual Studio 2003 client
Axis 1.2.1 server inside tomcat
Reporter: Tom Parker
Priority: Critical
When the .net client calls the axis server we get an exception similar to the
one attached below.
I have prepared a hackish patch to
org/apache/axis/encoding/ser/BeanPropertyTarget.java that solves the problem. I
have also prepared both a test case for the axis test harness and a .net test
client which may be used with the server in the testcase. (files to be attached
when this bug is created).
Note that this stacktrace was generated with a somewhat hacked version of axis
and the line numbers may not be accurate, the testcase should be consulted for
more information.
- Could not convert [Lnz.co.econz.nads.soap2.AttributeBean; to bean field
'attributes[0]', type nz.co.econz.nads.soap2.AttributeBean
- AxisFault:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.ArrayIndexOutOfBoundsException: 0
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.lang.ArrayIndexOutOfBoundsException:
0
at
org.apache.axis.utils.BeanPropertyDescriptor.set(BeanPropertyDescriptor.java:187)
at
org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:102)
at
org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
at
org.apache.axis.encoding.ser.ArrayDeserializer.valueComplete(ArrayDeserializer.java:583)
at
org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
at
org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:154)
at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
--
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