You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Deepal Jayasinghe (JIRA)" <ji...@apache.org> on 2008/05/17 22:13:56 UTC
[jira] Assigned: (AXIS2-3764) Generated classes for simpleType
based on dateTime result in wrong serialization/deserialization if that
type is used as attribute.
[ https://issues.apache.org/jira/browse/AXIS2-3764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Deepal Jayasinghe reassigned AXIS2-3764:
----------------------------------------
Assignee: Amila Chinthaka Suriarachchi
> Generated classes for simpleType based on dateTime result in wrong serialization/deserialization if that type is used as attribute.
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AXIS2-3764
> URL: https://issues.apache.org/jira/browse/AXIS2-3764
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: codegen
> Affects Versions: 1.3
> Environment: Eclipse 3.3, axis2 1.3 , java 6.
> Reporter: Milos Ratkovic
> Assignee: Amila Chinthaka Suriarachchi
> Priority: Minor
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> simpleType based on dateTime when used as attribute generates following serialization :
> datumVreme="java.util.GregorianCalendar[time=1209044290989,areFieldsSet=true, ...
> Parser expects this format (ConverterUtil : convertToDateTime):
> // '-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? (Z)?
> Example :
> wsdl :
> ...
> <xsd:simpleType name="DatumVreme">
> <xsd:restriction base="xsd:dateTime" />
> </xsd:simpleType>
> <xsd:element name="InOut">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="in" type="xsd:string"/>
> </xsd:sequence>
> <xsd:attribute name="datumVreme" type="tns:DatumVreme" />
> </xsd:complexType>
> </xsd:element>
> ...
> Exception:
> Exception in thread "main" java.lang.NumberFormatException: in valid time zone attribute
> at org.apache.axis2.databinding.utils.ConverterUtil.convertToDateTime(ConverterUtil.java:609)
> at org.example.www.testdatetime.DatumVreme$Factory.fromString(DatumVreme.java:309)
> at org.example.www.testdatetime.InOut$Factory.parse(InOut.java:436)
> at org.example.www.testdatetime.Test.main(Test.java:42)
> Generated code :
> InOut :
> public void serialize(final javax.xml.namespace.QName parentQName,
> ...
> writeAttribute("", "datumVreme", localDatumVreme.toString(), xmlWriter);
> ...
> public static InOut parse(javax.xml.stream.XMLStreamReader reader)
> ...
> object.setDatumVreme(org.example.www.testdatetime.DatumVreme.Factory.fromString(
> tempAttribDatumVreme, ""));
> ...
> DatumVreme:
> protected java.util.Calendar localDatumVreme;
> public java.lang.String toString() {
> return localDatumVreme.toString(); // java.util.GregorianCalendar[time=1209044290989,areFieldsSet=true, ....
> }
> ...
> public static class Factory {
> public static DatumVreme fromString(java.lang.String value,
> ...
> returnValue.setDatumVreme(org.apache.axis2.databinding.utils.ConverterUtil.convertToDateTime(
> value));
> ...
> My workaround is to change toString method in generated class:
> public java.lang.String toString() {
> //return localDatumVreme.toString();
> return org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localDatumVreme);
> }
> So I guess fix could be to change code generation for toString method.
> There is possibility for similar behavior in case of other based types.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org