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/11 00:54:10 UTC

Axis Deserialization

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