You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Jon Carmignani <jc...@rhinocorps.com> on 2006/11/13 22:06:40 UTC

Axis Deserialization #2

I know people have probably already asked about this, but I can't seem 
to find the solution anywhere.  If someone knows where this exists, I'd 
at least like a link to the bug report or a description of a possible 
solution.  Thank you for your time.  Here's the issue re-posted:

I have been having an issue with deserialization of nested arrays from
my SOAP messages.  I am using Axis 1.4 final.  The messages are in
document/literal/wrapped style.  These messages are generated by the
JAX-RPC engine, and the RPC objects were generated by the WSDL2Java tool.

The message is created correctly by the web service.  The problem occurs
when the client attempts to deserialize an array of arrays.  Originally
I see a NullPointerException, which occurs in the exception handler for
another exception which seems to be the real issue.

Is there some way around this issue without changing Axis versions?  If
not, is there at least some way to fix this without moving completely to
Axis2?  Thank you for your help.  Below is the nested exception where I
believe the true issue resides.

- Unable to find required classes (javax.activation.DataHandler and
javax.mail.internet.MimeMultipart). Attachment support is disabled.
- What happened here:
java.lang.IllegalArgumentException: argument type mismatch
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at
org.apache.axis.utils.BeanPropertyDescriptor.set(BeanPropertyDescriptor.java:178)
   at
org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:77)
   at
org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
   at
org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
   at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1088)
   at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
   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.client.Call.invoke(Call.java:2467)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at
gov.sandia.nw.mws.MilestonesWebServicePortSoapBindingStub.fullDownloadMilestones(MilestonesWebServicePortSoapBindingStub.java:564)
   at gov.sandia.nw.mws.MilestonesClient.main(MilestonesClient.java:70)
- Object: gov.sandia.nw.mws.schemas.MilestonesDataDef@d3b2d55c
- Value: gov.sandia.nw.mws.schemas.ApplicationContactsDef@e14e34d5
- Index: 0
- Another exception here:
java.lang.IllegalArgumentException: argument type mismatch
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at
org.apache.axis.utils.BeanPropertyDescriptor.set(BeanPropertyDescriptor.java:178)
   at
org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:77)
   at
org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
   at
org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
   at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1088)
   at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
   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.client.Call.invoke(Call.java:2467)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at
gov.sandia.nw.mws.MilestonesWebServicePortSoapBindingStub.fullDownloadMilestones(MilestonesWebServicePortSoapBindingStub.java:564)
   at gov.sandia.nw.mws.MilestonesClient.main(MilestonesClient.java:70)
- ValueType: gov.sandia.nw.mws.schemas.ApplicationContactsDef
- Field: person[0]
- Index: 0
- BeanPropertyDescriptor: gov.sandia.nw.mws.schemas.MrtPersonsDef
- Could not convert gov.sandia.nw.mws.schemas.ApplicationContactsDef to
bean field 'person[0]', type gov.sandia.nw.mws.schemas.MrtPersonsDef
- Is there a problem: java.lang.IllegalArgumentException: argument type
mismatch
- Exception:
java.lang.IllegalArgumentException: argument type mismatch
   at
org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:171)
   at
org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
   at
org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
   at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1088)
   at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
   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.client.Call.invoke(Call.java:2467)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at
gov.sandia.nw.mws.MilestonesWebServicePortSoapBindingStub.fullDownloadMilestones(MilestonesWebServicePortSoapBindingStub.java:564)
   at gov.sandia.nw.mws.MilestonesClient.main(MilestonesClient.java:70)
- Remote Exception caught:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.IllegalArgumentException: argument type mismatch
faultActor:
faultNode:
faultDetail:

{http://xml.apache.org/axis/}stackTrace:java.lang.IllegalArgumentException:
argument type mismatch
   at
org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:171)
   at
org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
   at
org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
   at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1088)
   at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
   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.client.Call.invoke(Call.java:2467)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at
gov.sandia.nw.mws.MilestonesWebServicePortSoapBindingStub.fullDownloadMilestones(MilestonesWebServicePortSoapBindingStub.java:564)
   at gov.sandia.nw.mws.MilestonesClient.main(MilestonesClient.java:70)

   {http://xml.apache.org/axis/}hostname:BANSHEE

java.lang.IllegalArgumentException: argument type mismatch
   at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
   at org.apache.axis.client.Call.invoke(Call.java:2470)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at
gov.sandia.nw.mws.MilestonesWebServicePortSoapBindingStub.fullDownloadMilestones(MilestonesWebServicePortSoapBindingStub.java:564)
   at gov.sandia.nw.mws.MilestonesClient.main(MilestonesClient.java:70)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
   at
org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:171)
   at
org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
   at
org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
   at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1088)
   at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
   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.client.Call.invoke(Call.java:2467)
   ... 4 more

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org