[ 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]