You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "McMullin, Gregg E." <GR...@saic.com> on 2005/12/20 19:56:30 UTC

Deserialization of time error

Hi all:

  I'm having a deserialization issue with dateTime's.  I'm using
1.2.1 and have recently moved to typeMappingVersion 1.3.  Thanks
for any feedback.  

  Gregg
  

wsdl/xsd defined as:

<xs:group name="dateTimeRangeGroup">
	<xs:sequence>
		<xs:element name="beginDateTime" type="xs:dateTime"/>
		<xs:element name="endDateTime" type="xs:dateTime"/>
	</xs:sequence>
</xs:group>

<xs:element name="dateTimeRange">
	 <xs:complexType>
		<xs:sequence>
			<xs:group ref="dateTimeRangeGroup"/>
			<xs:element name="increment" type="xs:duration"/>
			<xs:element name="offset" type="xs:duration" 
                              minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>

server-config.wsdd is defined with the following:

<parameter name="typeMappingVersion" value="1.3"/>

<typeMapping
   xmlns:ns="urn:esg"
   qname="ns:>temporalExtentType>dateTimeRange"
          type="java:com.mycompany.TemporalExtentTypeDateTimeRange"
    serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
    deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
    encodingStyle=""
/>	

Data being deserialized is:

<temporalExtent>
	<dateTimeRange>
		<beginDateTime>1997-05-20T00:00:00Z</beginDateTime>
		<endDateTime>1997-05-20T18:00:00Z</endDateTime>
		<increment>PT6H</increment>
	</dateTimeRange>
</temporalExtent>

causes this exception:

DeserializationContext [DEBUG] Popped element stack to
org.apache.axis.message.MessageElement:dateTimeRange
DeserializationContext [DEBUG] Exit: DeserializationContext::endElement()
ProjectResourceBundle [DEBUG]
org.apache.axis.i18n.resource::handleGetObject(toAxisFault00)
enterprise [DEBUG] Mapping Exception to AxisFault
java.lang.NumberFormatException: Invalid time
        at org.apache.axis.types.Time.validateSource(Time.java:213)
        at org.apache.axis.types.Time.makeValue(Time.java:93)
        at org.apache.axis.types.Time.<init>(Time.java:57)
        at
org.apache.axis.encoding.ser.TimeDeserializer.makeValue(TimeDeserializer.jav
a:43)
        at
org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement(SimpleDeseriali
zer.java:172)
        at
org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:5
02)
        at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationCo
ntext.java:1087)
        at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
        at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:
1140)
        at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
        at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:1
48)
        at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:
32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
327)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:237)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)