The following sections provide information about supported data types (both built-in and user-defined) and data binding:
|WARNING:||Although both JAX-RPC 1.1 and JAX-WS 2.0 are supported in this release of WebLogic Server, this document concentrates almost exclusively on describing how to create JAX-RPC style Web Services. This is because, in this release, all the WS-* specifications (such as WS-Security and WS-ReliableMessaging) and WebLogic value-added features (such as asynchronous request-response and callbacks) work only with JAX-RPC style Web Services. Therefore, unless otherwise stated, you should assume that all descriptions and examples are for JAX-RPC Web Services. In the case of supported data types and data binding, for example, this document does not describe how to use JAXB.|
|Note:||For specific information about creating JAX-WS Web Services and JAXB, see Implementing a JAX-WS 2.0 Web Service.|
As in previous releases, WebLogic Web Services support a full set of built-in XML Schema, Java, and SOAP types, as specified by the
Additionally, you can use a variety of user-defined XML and Java data types, including Apache XmlBeans (in package
org.apache.xmlbeans), as input parameters and return values of your Web Service. User-defined data types are those that you create from XML Schema or Java building blocks, such as
<xsd:complexType> or JavaBeans. The WebLogic Web Services Ant tasks, such as
clientgen, automatically generate the data binding artifacts needed to convert the user-defined data types between their XML and Java representations. The XML representation is used in the SOAP request and response messages, and the Java representation is used in the JWS that implements the Web Service. The conversion of data between its XML and Java representations is called data binding.
|WARNING:||As of WebLogic Server 9.1, using XMLBeans 1.X data types (in other words, extensions of
The following sections describe the built-in data types supported by WebLogic Web Services and the mapping between their XML and Java representations. As long as the data types of the parameters and return values of the back-end components that implement your Web Service are in the set of built-in data types, WebLogic Server automatically converts the data between XML and Java.
If, however, you use user-defined data types, then you must create the data binding artifacts that convert the data between XML and Java.WebLogic Server includes the
wsdl2c Ant tasks that can automatically generate the data binding artifacts for most user-defined data types. See Supported User-Defined Data Types for a list of supported XML and Java data types.
The following table lists the supported XML Schema data types (target namespace
http://www.w3.org/2001/XMLSchema) and their corresponding Java data types.
For a list of the supported user-defined XML data types, see Java-to-XML Mapping for Built-In Data Types.
For a list of the supported user-defined Java data types, see Supported Java User-Defined Data Types.
The tables in the following sections list the user-defined XML and Java data types for which the
wsdlc Ant tasks can automatically generate data binding artifacts, such as the corresponding Java or XML representation, the JAX-RPC type mapping file, and so on.
If your XML or Java data type is not listed in these tables, and it is not one of the built-in data types listed in Supported Built-In Data Types, then you must create the user-defined data type artifacts manually.
The following table lists the XML Schema data types supported by the
wsdlc Ant tasks and their equivalent Java data type or mapping mechanism.
For details and examples of the data types, see the.
The following table lists the Java user-defined data types supported by the
wsdlc Ant tasks and their equivalent XML Schema data type.
|Note:||The following user-defined Java data type, used as a parameter or return value of a WebLogic Web Service in Version 8.1, is no longer supported:|
|Note:||Additionally, generics are not supported when used as a parameter or return value. For example, the following Java method cannot be exposed as a public operation:|