[
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-007-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