axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Becke (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Created: (AXIS-2541) Deserializing dates in attributes
Date Wed, 16 Aug 2006 21:58:18 GMT
Deserializing dates in attributes
---------------------------------

                 Key: AXIS-2541
                 URL: http://issues.apache.org/jira/browse/AXIS-2541
             Project: Apache Axis
          Issue Type: Bug
    Affects Versions: 1.2.1, 1.4
         Environment: JDK1.5, Windows, Axis 1.2.1 and 1.4
            Reporter: Michael Becke


Dates are not correctly deserialized when used as in the following WSDL:

<?xml version="1.0"?>
<definitions name="TestDates"
          xmlns="http://schemas.xmlsoap.org/wsdl/"
          xmlns:xs="http://www.w3.org/2001/XMLSchema" 
          targetNamespace="http://ws.apache.org/test"
          xmlns:tns="http://ws.apache.org/test"
          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
          >
    <types>
        <xs:schema 
            targetNamespace="http://ws.apache.org/test"
            xmlns:tns="http://ws.apache.org/test"
            xmlns:xs="http://www.w3.org/2001/XMLSchema" 
            elementFormDefault="qualified">

            <xs:element name="DateRequest">
                <xs:complexType>
                    <xs:all>
	                    <xs:element name="DateValue" type="tns:DateValueType" minOccurs="1"
maxOccurs="1" />
	                </xs:all>
                </xs:complexType>
			</xs:element>
            <xs:complexType name="DateValueType">
                <xs:attribute name="date" type="xs:date" />
                <xs:attribute name="value" type="xs:decimal" />
            </xs:complexType>
            <xs:element name="DateResponse">
                <xs:complexType>
                    <xs:all>
	                    <xs:element name="Date" type="xs:date" minOccurs="1" maxOccurs="1"
/>
	                </xs:all>
                </xs:complexType>
			</xs:element>
			
        </xs:schema>
    </types>

    <message name="TestRequestMsg">
        <part name="body" element="tns:DateRequest"/>
    </message>

    <message name="TestResponseMsg">
        <part name="body" element="tns:DateResponse"/>
    </message>

    <portType name="TestPortType">
        <operation name="TestDates">
           <input message="tns:TestRequestMsg"/>
           <output message="tns:TestResponseMsg"/>
        </operation>
    </portType>

    <binding name="TestSoapBinding" type="tns:TestPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="TestDates">
           <soap:operation soapAction="http://ws.apache.org"/>
           <input>
               <soap:body use="literal"/>
           </input>
           <output>
               <soap:body use="literal"/>
           </output>
        </operation>
    </binding>

    <service name="TestService">
        <documentation></documentation>
        <port name="TestService" binding="tns:TestSoapBinding">
           <soap:address location="http://localhost/axis/ws/TestService"/>
        </port>
    </service>

</definitions>

I am using WSDL2Java to gerate the client/server for this service.  Once generated and installed,
calling the service produces the following exception:

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.lang.NumberFormatException: For input string: &quot;2006-08-16&quot;
 faultActor: 
 faultNode: 
 faultDetail: 
	{http://xml.apache.org/axis/}hostname:mbecke

java.lang.NumberFormatException: For input string: "2006-08-16"
	at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
	at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
	at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
	at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
	at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
	at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
	at org.apache.axis.client.Call.invoke(Call.java:2767)
	at org.apache.axis.client.Call.invoke(Call.java:2443)
	at org.apache.axis.client.Call.invoke(Call.java:2366)
	at org.apache.axis.client.Call.invoke(Call.java:1812)
	at axis.test.TestSoapBindingStub.testDates(TestSoapBindingStub.java:171)
	at info.ppr.compass.AxisTest.testSendDates(AxisTest.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

Please let me know if I can provide any more information.

Thanks,

Mike



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message