If your code is working on a test set-up, I wonder whether the JDBC 
provider has implemented java.sql.Timestamp incorrectly.  If you just 
run javap java.sql.Timestamp, you should not see a default ctor 
listed.  If you do, you've got a funky implementation.

On 2 Jun 2003 at 10:44, Scott Nichol wrote:

> I don't see how it could ever work, unless some version of 
> java.sql.Timestamp has a default ctor.  The following code in 
> BeanSerializer creates the bean:
> 
>   private Object instantiateBean(Class javaType)
>     throws IllegalArgumentException
>   {
>     try
>     {
>       return javaType.newInstance();
>     }
>     catch (Throwable t)
>     {
>       throw new IllegalArgumentException("Unable to instantiate '" +
>                                          
> StringUtils.getClassName(javaType) +
>                                          "': " + t.getMessage());
>     }
>   }
> 
> The newInstance is only going to work if the class has a default ctor 
> (or in Sun's terminology, a "nullary constructor").
> 
> On 2 Jun 2003 at 15:14, Jonathan Roberts wrote:
> 
> > HI Scott,
> >  
> > I thought I'd got around this by declaring the java.sql.Timestamp as a class in 
> > the xml file and loaded it with all the other classes.  This seems to be fine on 
> > my machine but not on a deployment server.   Could it be a class problem?
> >  
> > Cheers
> >  
> > Jonathan
> > 
> > Scott Nichol <[EMAIL PROTECTED]> wrote:
> > java.sql.Timestamp does not have a default constructor, which Apache 
> > SOAP requires for instantiation. An alternative for you would be to 
> > return a java.util.Date, which Apache SOAP knows how to serialize and 
> > de-serialize.
> > 
> > On 2 Jun 2003 at 10:54, Jonathan Roberts wrote:
> > 
> > > Hi.
> > > 
> > > I'm getting the following errors on the response from the soap server :
> > > 
> > > on the 
> > > r = c.invoke ( new URL( mstrHostString + "/soap/servlet/rpcrouter"), "" );
> > > call
> > > where Response r;
> > > and Call c;
> > > ---------------------------------------------------------------------------
> > > 
> > > Error report : 
> > > 1. If information exists and is returned :
> > > 
> > > Unable to instantiate 'java.sql.Timestamp': java.sql.Timestamp
> > > 
> > > You chose fetchAccountUsingAccountNo 10015301
> > > 
> > > Exception = [SOAPException: faultCode=SOAP-ENV:Client; msg=Unable to instantiate 
> > > 'java.sql.Timestamp': java.sql.Timestamp; targetException=java.lang.IllegalAr
> > > 
> > > gumentException: Unable to instantiate 'java.sql.Timestamp': java.sql.Timestamp].
> > > 
> > > ----------------------------------------------------------------------------------------------------
> > > 2. If no information:
> > > 
> > > Exception = [SOAPException: faultCode=SOAP-ENV:Client; msg=
> > > 
> > > Can't yet deserialize non-null Objects; 
> > > 
> > > targetException=java.lang.IllegalArgumentException: Can't yet deserialize 
> > > non-null Objects]
> > > 
> > > ------------------------------------------
> > > 
> > > Isssues : 
> > > 
> > > 1. I'm aware of problems with the timestamp and have set it up in the client 
> > > side thus have named it explicitly :
> > > 
> > > QName qn9 = new QName("urn:xml-IVR-App", "java.sql.Timestamp");
> > > //map the type
> > > smr.mapTypes(Constants.NS_URI_SOAP_ENC, qn9, java.sql.Timestamp.class, bsr, bsr);
> > > //telling the call object to use this mapping
> > > c.setSOAPMappingRegistry(smr);
> > > 
> > > 2. and the xml
> > > 
> > > > 
> > > xmlns:x="urn:xml-IVR-App" 
> > > 
> > > qname="x:java.sql.Timestamp"
> > > 
> > > javaType="java.sql.Timestamp"
> > > 
> > > java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
> > > 
> > > xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
> > > 
> > > />
> > > 
> > > 3. Wierder - this works on the development machine but not on the stand-alone 
> > > Test Server.
> > > 
> > > Any help would be appreciated.
> > > 
> > > Jonathan
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > ---------------------------------
> > > Yahoo! Plus - For a better Internet experience
> > > 
> > 
> > 
> > Scott Nichol
> > 
> > Do not reply directly to this e-mail address,
> > as it is filtered to only receive e-mail from
> > specific mailing lists.
> > 
> > 
> > 
> > 
> > 
> > ---------------------------------
> > Yahoo! Plus - For a better Internet experience
> > 
> 
> 
> Scott Nichol
> 
> Do not reply directly to this e-mail address,
> as it is filtered to only receive e-mail from
> specific mailing lists.
> 
> 
> 


Scott Nichol

Do not reply directly to this e-mail address,
as it is filtered to only receive e-mail from
specific mailing lists.


Reply via email to