In theory, this should work without any problems. Looking at the error, it
seems to me that BeanDeserializer is trying set a property of type
java.util.Date, but
you mentioned that your bean property is of type Calendar. So for some
reason, xsd:dateTime is getting deserialized into java.util.Date instead of
java.util.Calendar.

As far as I know for Schema version 2001, the default Type mapping registry
maps both java.util.Date as well as Calendar to the
CalendarSerialier/deserializer factory, which should handle the date/time
correctly.

Can you try this out.... specifically map xsd:dateTime to
CalendarDeserializerFactory while deploying your webservice.

 <typeMapping deserializer
="org.apache.axis.encoding.ser.CalendarDeserializerFactory" encodingStyle
="http://schemas.xmlsoap.org/soap/encoding/"; qname="xsd:dateTime"
serializer="org.apache.axis.encoding.ser.CalendarSerializerFactory" type
="java:java.util.Calendar" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>

- Junaid



                                                                                       
                                                
                      "Ron Ridenour"                                                   
                                                
                      <rridenour@siterr        To:       <[EMAIL PROTECTED]>    
                                                
                      a.com>                   cc:                                     
                                                
                                               Subject:  Problem with Serialization of 
Calendar                                        
                      10/30/2002 12:54                                                 
                                                
                      PM                                                               
                                                
                      Please respond to                                                
                                                
                      axis-user                                                        
                                                
                                                                                       
                                                
                                                                                       
                                                




I have a bean that has a Calendar field.
The axis service correctly generates a
wsdl for the service and bean as xsd:dateTime.
The wsdl2Java utility correctly creates a
class from the wsdl with Calendar type.

When invoking the service with the client object
the error below occurs.

Notice that the serializer is a BeanDeserializer and
not a CalendarDeserializer.

Any help is greatly appreciated.

Thanks,

Ron

16:43:14,900 ERROR [BeanPropertyTarget] Could not convert java.util.Date to
bean field 'dateEntered', type java.util.Date
16:43:14,910 ERROR [AxisServlet] Exception:
AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.userException
 faultString: org.xml.sax.SAXException
 faultActor: null
 faultDetail:
        stackTrace: org.xml.sax.SAXException
        at
org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:172)

        at
org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:260)

        at
org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:502)

        at
org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationContextImpl.java:942)

        at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:206)

        at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:684)

        at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:370)

        at
org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:169)

        at
org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:906)

        at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:200)

        at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:684)

        at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
        at
org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)
        at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:190)

        at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:276)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)

        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
        at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
        at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:284)

        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:577)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1674)
        at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:544)

        at org.mortbay.http.HttpContext.handle(HttpContext.java:1624)
        at org.mortbay.http.HttpServer.service(HttpServer.java:875)
        at org.jboss.jetty.Jetty.service(Jetty.java:541)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:785)
        at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:935)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:802)
        at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:200)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:294)
        at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
        at java.lang.Thread.run(Thread.java:536)





Reply via email to