[ https://issues.apache.org/jira/browse/AXIS2-4370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763496#action_12763496 ]
Thomas Raddatz commented on AXIS2-4370: --------------------------------------- Mauro, I completely agree with you. Given that someone specifies xs:date in a WSDL file he most likely what to transport a date without a time portion. However there seems to be an error when Axis 2 v1.5 receives a xs:date. In that case it complains that a "date string can not be less than 19 charactors". Axis2 version information: Found Apache-Axis (org.apache.axis2.transport.http.AxisServlet) at C:\Jako 2009\Tomcat\webapps\axis2\WEB-INF\lib\axis2-transport-http-1.5.jar Found Jakarta-Commons Logging (org.apache.commons.logging.Log) at C:\Jako 2009\Tomcat\webapps\axis2\WEB-INF\lib\commons-logging-1.1.1.jar Found Streaming API for XML (javax.xml.stream.XMLStreamReader) at C:\Jako 2009\Tomcat\webapps\axis2\WEB-INF\lib\geronimo-stax-api_1.0_spec-1.0.1.jar Found Streaming API for XML implementation (org.codehaus.stax2.XMLStreamWriter2) at C:\Jako 2009\Tomcat\webapps\axis2\WEB-INF\lib\wstx-asl-3.2.4.jar Date sent: <xsd:date>2009-10-08</xsd:date> On the fly WSDL file: <xs:complexType name="DataTypesResponse"> <xs:sequence> <xs:element minOccurs="0" name="bigInteger" nillable="true" type="xs:long"/> <xs:element minOccurs="0" name="bool" nillable="true" type="xs:boolean"/> <xs:element minOccurs="0" name="date" nillable="true" type="xs:date"/> <xs:element minOccurs="0" name="doubleFloat" nillable="true" type="xs:double"/> <xs:element minOccurs="0" name="integer" nillable="true" type="xs:int"/> <xs:element minOccurs="0" name="packed" nillable="true" type="xs:decimal"/> <xs:element minOccurs="0" name="singleFloat" nillable="true" type="xs:float"/> <xs:element minOccurs="0" name="smallInteger" nillable="true" type="xs:short"/> <xs:element minOccurs="0" name="string" nillable="true" type="xs:string"/> <xs:element minOccurs="0" name="time" nillable="true" type="xs:dateTime"/> <xs:element minOccurs="0" name="timestamp" nillable="true" type="xs:dateTime"/> <xs:element minOccurs="0" name="zoned" nillable="true" type="xs:decimal"/> </xs:sequence> </xs:complexType> <xs:complexType name="DataTypesRequest"> <xs:complexContent> <xs:extension base="ax21:DataTypesResponse"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> Stack trace: [ERROR] date string can not be less than 19 charactors java.lang.NumberFormatException: date string can not be less than 19 charactors at org.apache.axis2.databinding.utils.ConverterUtil.convertToDateTime(ConverterUtil.java:993) at org.apache.axis2.databinding.typemapping.SimpleTypeMapper.makeCalendar(SimpleTypeMapper.java:309) at org.apache.axis2.databinding.typemapping.SimpleTypeMapper.getSimpleTypeObject(SimpleTypeMapper.java:112) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:397) at org.apache.axis2.databinding.utils.BeanUtil.processObject(BeanUtil.java:682) at org.apache.axis2.databinding.utils.BeanUtil.ProcessElement(BeanUtil.java:630) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:562) at org.apache.axis2.rpc.receivers.RPCUtil.processRequest(RPCUtil.java:153) at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:188) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:142) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Thread.java:595) [ERROR] date string can not be less than 19 charactors org.apache.axis2.AxisFault: date string can not be less than 19 charactors at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:161) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:142) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.NumberFormatException: date string can not be less than 19 charactors at org.apache.axis2.databinding.utils.ConverterUtil.convertToDateTime(ConverterUtil.java:993) at org.apache.axis2.databinding.typemapping.SimpleTypeMapper.makeCalendar(SimpleTypeMapper.java:309) at org.apache.axis2.databinding.typemapping.SimpleTypeMapper.getSimpleTypeObject(SimpleTypeMapper.java:112) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:397) at org.apache.axis2.databinding.utils.BeanUtil.processObject(BeanUtil.java:682) at org.apache.axis2.databinding.utils.BeanUtil.ProcessElement(BeanUtil.java:630) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:562) at org.apache.axis2.rpc.receivers.RPCUtil.processRequest(RPCUtil.java:153) at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:188) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102) ... 19 more > Time portion of java.util.Date is missing from SOAP response in Axis2 1.5 > ------------------------------------------------------------------------- > > Key: AXIS2-4370 > URL: https://issues.apache.org/jira/browse/AXIS2-4370 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: adb > Affects Versions: 1.5 > Reporter: Pétur Runólfsson > Attachments: Server-1.4.1.wsdl, Server-1.5.wsdl, Server.java, > services.xml > > > When a method returns a java.util.Date (or an object containing a > java.util.Date), only the date portion is returned in Axis2 1.5: > <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> > <soapenv:Body> > <ns:getCurrentTimeResponse xmlns:ns="http://ws.apache.org/axis2"> > <ns:return>2009-06-10</ns:return> > </ns:getCurrentTimeResponse> > </soapenv:Body> > </soapenv:Envelope> > In Axis2 1.4.1, the full date and time was returned: > <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> > <soapenv:Body> > <ns:getCurrentTimeResponse xmlns:ns="http://ws.apache.org/axis2"> > <ns:return>2009-06-10T16:22:22.622Z</ns:return> > </ns:getCurrentTimeResponse> > </soapenv:Body> > </soapenv:Envelope> > This change breaks any application that requires the time portion to function > correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.