[ 
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.

Reply via email to