Supported Data Types
The following is a list of the types supported for use as parameters and return values in Beehive Web Services.
Standard Java Types
All standard Java types as specified in section 5.1 of the JAX-RPC spec (JSR-101) are supported. These types include some core Java classes that can easily convert to Strings (section 5.1.3), primitives, exceptions and arrays of types already deemed suitable.
JavaBeans
Java Value types (section 5.4 of JAX-RPC) are supported. These are standard JavaBeans with the requirements that (1) they have a default no argument constructor, (2) implement java.io.Serializable, but (3) do not implement java.rmi.Remote.
Collections and Arrays
Collections are minimally supported: typed arrays are far superior. Support for JDK 5 typed Collections using Java Generics is being considered for the future. In the meantime use a typed array.
XmlBeans
XmlBeans are supported as web service types.
Attachments
DataHandler types provide attachment support in Apache Axis. If activation.jar and mailapi.jar are available, then developers can use java.awt.Image, javax.mail.internet.MimeMultipart as well as any classes extending javax.activation.DataHandler to transmit raw data as web service attachments. See the Petstore Dashboard Sample for instructions on acquiring these JARs. If these types are used directly as return values or parameters, then the client must be an Axis client.
Other Types
If you wish to use types not declared here, you can explicitly register your own serialization mechanism by adding code to register TypeMappings for custom type classes in a static block of those classes. See the Axis documentation for more information: XML <-> Java Data Mapping in Axis (see the section labeled "When Beans Are Not Enough - Custom Serialization").