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 Steve Molloy <sm...@convera.com> on 2006/01/03 18:01:27 UTC

Databinding

Hi,

	I'm new to Axis 2 (0.93) and am trying to convert my Axis 1 services to
it. I'm having a problem with the databindings generated and was
wondering if anyone ran into this and, much more importantly, if anyone
had a solution... My messages use the following types:

<complexType name="Item">
	<sequence>
		<element name="id" nillable="true" type="xsd:anyType"/>
		<element name="latest" nillable="true" type="tns1:Version"/>
		<element name="modificationStamp" type="xsd:long"/>
		<element name="versions" nillable="true" type="apachesoap:Vector"/>
	</sequence>
</complexType>
<complexType name="BatchTest">
	<complexContent>
		<extension base="tns1:Item">
			<sequence>
				<element name="info" nillable="true" type="tns1:BatchTestInfo"/>
			</sequence>
		</extension>
	</complexContent>
</complexType>

While the generated (WSDL2Java using xmlbeans) java code seems fine,
when I actually try to use it, the server throws a 
XmlValueOutOfRangeException because it gets into XmlObjectBase code
instead of XmlLong when trying to set the modificationTimeStamp field 
with a long (yes, System.currentTimeMillis()). StackTrace:

...
Caused by: org.apache.xmlbeans.impl.values.XmlValueNotSupportedException
      at org.apache.xmlbeans.impl.values.XmlObjectBase.set_BigDecimal(XmlObjectBase.java:1989)
      at org.apache.xmlbeans.impl.values.XmlObjectBase.set(XmlObjectBase.java:1608)
      at org.apache.xmlbeans.impl.values.XmlObjectBase.set_BigInteger(XmlObjectBase.java:1987)
      at org.apache.xmlbeans.impl.values.XmlObjectBase.set_long(XmlObjectBase.java:1969)
      at org.apache.xmlbeans.impl.values.XmlObjectBase.set(XmlObjectBase.java:1596)
      at org.apache.xmlbeans.impl.values.XmlObjectBase.setLongValue(XmlObjectBase.java:1537)
      at com.convera.taw.qa.ws.databinding.com.convera.taw.qa.ws.data.impl.ItemImpl.setModificationStamp(ItemImpl.java:244)
... 28 more

Am I doing anything wrong here?

Thanks,
Steve