I need more information to understand why this change is necessary. Could you please send the bean and wsdl snippet.
Rich Scheuerle XML & Web Services Development 512-838-5115 (IBM TL 678-5115) "David L. Cole" <DLCole@cmsenergy To: [EMAIL PROTECTED] .com> cc: Subject: NullPointer in BeanSerializer/BeanPropertyTarget 04/01/2002 11:31 AM Please respond to axis-dev ----- Forwarded by David L. Cole/IS/PPLC on 04/01/2002 11:29 AM ----- "David L. Cole" To: [EMAIL PROTECTED] <DLCole@cmsen cc: ergy.com> Subject: NullPointer in BeanSerializer/BeanPropertyTarget 03/29/2002 10:24 AM Please respond to axis-dev I have the following method within my Object which is mapped to BeanSerializer/Deserializer: public void setValidDates( java.util.ArrayList newValue ) { validDates = newValue; } During deserialization, I was getting the following error: - Could not convert [Ljava.lang.Object; to bean field 'validDates[0]', type java.util.Collection - Exception: java.lang.NullPointerException at org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:136) at org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:258) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:386) at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:834) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:197) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:578) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:367) at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:834) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:197) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:578) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:367) at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:834) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:197) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:578) at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:367) at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:834) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:197) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:578) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:231) at org.apache.axis.client.Call.invoke(Call.java:1607) The result of the error turns out the the BeanPropertyDescriptor is returning null for the call to getWriteMethod() By making the 2 following changes to BeanDeserializer and BeanPropertyTarget which simply checks for null as a result to the call to getWriteMethod(), I was able to solve the problem. BeanDeserializer.onStartChild() Line #199 Changed from: if (propDesc.getWriteMethod().getParameterTypes().length == 1) { To: if (propDesc != null && (propDesc.getWriteMethod() != null) && (propDesc.getWriteMethod().getParameterTypes().length == 1)) { BeanPropertyTarget.set(Object value): check for null on call to pd.getWriteMethod() at beginning of method if(pd.getWriteMethod() == null) { return; } Once the changes where made...Everything went smooth. Could one of the dev team consider making these changes to BeanSerializer/BeanPropertyTarget for future builds? Thanks, David Cole