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 "Guillaume Sauthier (JIRA)" <ax...@ws.apache.org> on 2005/03/18 13:23:20 UTC

[jira] Commented: (AXIS-1888) Generate Type Descriptions classes for Java Beans

     [ http://issues.apache.org/jira/browse/AXIS-1888?page=comments#action_61202 ]
     
Guillaume Sauthier commented on AXIS-1888:
------------------------------------------

Currently, you can generate, for each bean, a Helper class that holds the TypeDesc.
ex :
Bean.java
+
Bean_Helper.java

BeanSer/Deser actually try to load theses _Helper classes if the getTypeDesc static method is not found is the X.class in order to get the TypeDesc.

Use --helperGen or -H in wsdl2java command line

> Generate Type Descriptions classes for Java Beans
> -------------------------------------------------
>
>          Key: AXIS-1888
>          URL: http://issues.apache.org/jira/browse/AXIS-1888
>      Project: Axis
>         Type: New Feature
>   Components: Serialization/Deserialization
>     Versions: 1.2RC3
>  Environment: Axis service deployed to websphere server 
> WebSphere Platform 5.0 [BASE 5.0.0 s0245.03] 
> Host Operating System is Windows 2000, version 5.0 
> Java version = J2RE 1.3.1 IBM Windows 32 build cn131-20021107 (JIT enabled: jitc) 
> Microsoft Development Environment 2003 
> Microsoft .NET Framework 1.1 
> Microsoft Visual C# .NET 69586-335-0000007-18998 
>     Reporter: Aedemar Cooke
>  Attachments: BankIdentifierTypeDesc.java, MyBeanDeserializer.java, MyBeanDeserializerFactory.java, MyBeanSerializer.java, MyBeanSerializerFactory.java, TypeDescFactory.java
>
> This is related to bug AXIS-1880.
> I would like the org.apache.axis.description.TypeDesc code that is currently generated in the Java Bean classes to be created in a JavaBean specific class (see attached example BankIdentifierTypeDesc.java).  Then with the use of a TypeDescriptor factory (see attached example TypeDescFactory.java) the BeanSerializerFactory, BeanDeserializerFactory, BeanSerializer and BeanDeserializer could be changed to look up the type description using the factory rather than using the java bean class.
> This would also mean that the custom serializer and deserializer code would need to be removed from the JavaBean and the BeanSerializerFactory, BeanDeserializerFactory.
> I have tried to prototype this (see MyBean*.java) and have got it working for all base classes.  I am still having problems when the class being serialized/deserialized extends a base class but I am sure I am just missing something obvious.
> I could continue with my prototype which would allow me to use my existing JavaBeans rather than having to use the Axis generated versions (I don't want to do this as I have many JavaBeans with comments and constructors that are used elsewhere in my code but that don't get generated by Axis).
> I am worried, however, that if I have to update these TypeDesc classes manually every time I change my underlying JavaBeans I will introduce lots of hard to track errors.  I am also worried about how I would keep my MyBean* classes in synch with new versions of Axis.

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira