Appendix A : JAX-RPC Supported Java Types

Note : This section is mostly an extract from the JAX-RPC Specifications and the said specifications shall override this at all times

The following are the JAX-RPC supported Java types:

• One of the Java primitive types
• A subset of the standard Java classes
(as specified in the J2SE APIs)
• An array of a supported Java type
• An exception class
• A JAX-RPC value type

Primitive Types
The JAX-RPC specification supports the following Java primitive types and the corresponding wrapper Java classes:
• boolean, byte, short, int, long, float, double

Java Array
The JAX-RPC specification supports a Java array with members of a supported JAX-RPC Java type. Multidimensional Java arrays are also supported. Examples are int[] and String[][].

Standard Java Classes
The following standard Java classes are supported by JAX-RPC:

• java.lang.String
• java.util.Date
• java.util.Calendar
• java.math.BigInteger
• java.math.BigDecimal

Other standard Java classes (for example: classes in the Java Collection Framework) are mapped using pluggable serializers and deserializers. Refer to the chapter 15, “Extensible Type Mapping” for more details on the pluggable serializers and deserializers.

The Service Specific Exception
A service specific exception declared in a remote method signature must be a checked exception. It must extend java.lang.Exception either directly or indirectly but must not be a RuntimeException.

A JAX-RPC value type
We shall look at this later. In general a value type is a JAVA Bean whose members are either JAX-RPC supported Types (all those mentioned above) or other value types and for which it provides suitable accessors and mutators