blob: 852191c298e82079c56f43d12db8d4964d0911f2 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://java.sun.com/xml/ns/j2ee"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.1">
<xsd:annotation>
<xsd:documentation>
@(#)j2ee_jaxrpc_mapping_1_1.xsds 1.11 09/03/03
Based on j2ee_jaxrpc_mapping_1_0.dtd, Last updated: 09/19/2002 10:26
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
Copyright 2003 Sun Microsystems, Inc., 901 San Antonio
Road, Palo Alto, California 94303, U.S.A. All rights
reserved.
Sun Microsystems, Inc. has intellectual property rights
relating to technology described in this document. In
particular, and without limitation, these intellectual
property rights may include one or more of the U.S. patents
listed at http://www.sun.com/patents and one or more
additional patents or pending patent applications in the
U.S. and other countries.
This document and the technology which it describes are
distributed under licenses restricting their use, copying,
distribution, and decompilation. No part of this document
may be reproduced in any form by any means without prior
written authorization of Sun and its licensors, if any.
Third-party software, including font technology, is
copyrighted and licensed from Sun suppliers.
Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
JavaServer Pages, Enterprise JavaBeans and the Java Coffee
Cup logo are trademarks or registered trademarks of Sun
Microsystems, Inc. in the U.S. and other countries.
Federal Acquisitions: Commercial Software - Government Users
Subject to Standard License Terms and Conditions.
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
(C) Copyright International Business Machines Corporation 2002
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
The element describes the Java mapping to a known WSDL document.
It contains the mapping between package names and XML namespaces,
WSDL root types and Java artifacts, and the set of mappings for
services.
All java-wsdl-mapping deployment descriptors must indicate the
schema by using the J2EE namespace:
http://java.sun.com/xml/ns/j2ee
and by indicating the version of the schema by using the
version element as shown below:
<java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"
version="1.1">
...
</java-wsdl-mapping>
The instance documents may indicate the published version of
the schema using the xsi:schemaLocation attribute for J2EE
namespace with the following location:
http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
The following conventions apply to all J2EE
deployment descriptor elements unless indicated otherwise.
- In elements that specify a pathname to a file within the
same JAR file, relative filenames (i.e., those not
starting with "/") are considered relative to the root of
the JAR file's namespace. Absolute filenames (i.e., those
starting with "/") also specify names in the root of the
JAR file's namespace. In general, relative names are
preferred. The exception is .war files where absolute
names are preferred for consistency with the Servlet API.
</xsd:documentation>
</xsd:annotation>
<xsd:include schemaLocation="j2ee_1_4.xsd"/>
<!-- **************************************************** -->
<xsd:element name="java-wsdl-mapping" type="j2ee:java-wsdl-mappingType">
<xsd:annotation>
<xsd:documentation>
This is the root of the java-wsdl-mapping deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!-- **************************************************** -->
<xsd:complexType name="constructor-parameter-orderType">
<xsd:annotation>
<xsd:documentation>
The constructor-parameter-order element defines the order
that complexType element values are applied to a Java
exception constructor. Element names are specified for each
parameter of the constructor, including element names of
inherited types if necessary.
Used in: exception-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="element-name"
type="j2ee:string"
minOccurs="1" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element-name element defines the name of a complexType
element name attribute value.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="exception-mappingType">
<xsd:annotation>
<xsd:documentation>
The exception-mapping element defines the mapping between the
service specific exception types and wsdl faults and
SOAP headerfaults.
This element should be interpreted with respect to the
mapping between a method and an operation which provides the
mapping context.
Used in: service-endpoint-method-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="exception-type"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The exception-type element defines Java type of the exception.
It may be a service specific exception.
It must be a fully qualified class name.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-message"
type="j2ee:wsdl-messageType"/>
<xsd:element name="wsdl-message-part-name"
type="j2ee:wsdl-message-part-nameType"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The wsdl-message-part-name element is required only
when the message referenced by the wsdl-message element
has more than one part.
This only occurs when multiple headerfaults use the
same message.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="constructor-parameter-order"
type="j2ee:constructor-parameter-orderType"
minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="java-wsdl-mappingType">
<xsd:annotation>
<xsd:documentation>
The element describes the Java mapping to a known WSDL document.
It contains the mapping between package names and XML namespaces,
WSDL root types and Java artifacts, and the set of mappings for
services.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="package-mapping"
type="j2ee:package-mappingType"
minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="java-xml-type-mapping"
type="j2ee:java-xml-type-mappingType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="exception-mapping"
type="j2ee:exception-mappingType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="service-interface-mapping"
type="j2ee:service-interface-mappingType"
minOccurs="0" maxOccurs="1"/>
<xsd:element name="service-endpoint-interface-mapping"
type="j2ee:service-endpoint-interface-mappingType"
minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="version"
type="j2ee:dewey-versionType"
fixed="1.1"
use="required">
<xsd:annotation>
<xsd:documentation>
The required value for the version is 1.1.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="java-xml-type-mappingType">
<xsd:annotation>
<xsd:documentation>
The java-xml-type-mapping element contains a java-type that is the
fully qualified name of the Java class, primitive type, or array
type, QName of the XML root type or anonymous type, the WSDL type
scope the QName applies to and the set of variable mappings for
each public variable within the Java class.
Used in: java-wsdl-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="java-type"
type="j2ee:java-typeType">
<xsd:annotation>
<xsd:documentation>
The java-type element is the fully qualified class name of
a Java class, primitive, or array type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<choice>
<xsd:element name="root-type-qname"
type="j2ee:xsdQNameType">
<xsd:annotation>
<xsd:documentation>
The root-type-qname identifies the WSDL QName of an XML type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="anonymous-type-qname"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
The anonymous-type-qname identifies the WSDL QName of an
anonymous XML type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</choice>
<xsd:element name="qname-scope"
type="j2ee:qname-scopeType"/>
<xsd:element name="variable-mapping"
type="j2ee:variable-mappingType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="method-param-parts-mappingType">
<xsd:annotation>
<xsd:documentation>
The method-param-parts-mapping element defines the mapping between a
Java method parameters and a wsdl-message.
Used in: service-endpoint-method-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="param-position"
type="j2ee:xsdNonNegativeIntegerType">
<xsd:annotation>
<xsd:documentation>
The param-position element defines the position of a
parameter within a Java method. It must be an integer
starting from 0.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="param-type"
type="j2ee:java-typeType">
<xsd:annotation>
<xsd:documentation>
The param-type element defines the fully qualified
class name of a Java class, primitive, or array type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-message-mapping"
type="j2ee:wsdl-message-mappingType"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="package-mappingType">
<xsd:annotation>
<xsd:documentation>
The package-mapping indicates the mapping between java-package-name
and XML namespace in the WSDL document.
Used in: java-wsdl-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="package-type"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The package-type indicates the Java package name. It must be a fully
qualified package name, even though the XML schema type is
fully-qualified-classType.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="namespaceURI"
type="j2ee:xsdAnyURIType">
<xsd:annotation>
<xsd:documentation>
The namespaceURI element indicates a URI.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="parameter-modeType">
<xsd:annotation>
<xsd:documentation>
The parameter-mode element defines the mode of the parameter.
It can have only three values, IN, OUT, INOUT.
Used in: java-xml-type-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="j2ee:string">
<xsd:enumeration value="IN"/>
<xsd:enumeration value="OUT"/>
<xsd:enumeration value="INOUT"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="port-mappingType">
<xsd:annotation>
<xsd:documentation>
The port-mapping defines the mapping of the WSDL port name attribute
to the Java name used to generate the Generated Service Interface
method get{java-name}.
Used in: service-interface-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="port-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
The port-mapping defines the mapping of the WSDL port name
attribute to the Java name used to generate the Generated
Service Interface method get{java-name}.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="java-port-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
The java-port-name element is the string to use as the port
name in Java. It is used in generating the Generated
Service Interface method get{java-port-name}.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="qname-scopeType">
<xsd:annotation>
<xsd:documentation>
The qname-scope elements scopes the reference of a QName to the WSDL
element type it applies to. The value of qname-scope may be
simpleType, complexType, or element.
Used in: java-xml-type-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="j2ee:string">
<xsd:enumeration value="simpleType"/>
<xsd:enumeration value="complexType"/>
<xsd:enumeration value="element"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="service-endpoint-interface-mappingType">
<xsd:annotation>
<xsd:documentation>
The service-endpoint-interface-mapping defines a tuple
to specify Service Endpoint Interfaces to
WSDL port types and WSDL bindings.
An interface may be mapped to a port-type and binding multiple
times. This happens rarely.
Used in: java-wsdl-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="service-endpoint-interface"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The service-endpoint-interface element defines the Java
type for the endpoint interface. The name must be a fully
qualified class name.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-port-type"
type="j2ee:xsdQNameType">
<xsd:annotation>
<xsd:documentation>
The wsdl-port-type element defines the wsdl port type
by a QNAME which uniquely identifies the port type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-binding"
type="j2ee:xsdQNameType">
<xsd:annotation>
<xsd:documentation>
The wsdl-binding element defines the wsdl binding
by a QNAME which uniquely identifies the binding.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="service-endpoint-method-mapping"
type="j2ee:service-endpoint-method-mappingType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="service-endpoint-method-mappingType">
<xsd:annotation>
<xsd:documentation>
The service-endpoint-method-mapping element defines the mapping of
Java methods to operations (which are not uniquely qualified by
qnames).
The wsdl-operation should be interpreted with respect to the
portType and binding in which this definition is embedded within.
See the definitions for service-endpoint-interface-mapping and
service-interface-mapping to acquire the proper context. The
wrapped-element indicator should only be specified when a WSDL
message wraps an element type. The wsdl-return-value-mapping is
not specified for one-way operations.
Used in: service-endpoint-interface-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="java-method-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
The java-method-name element defines the name of a Java method
within an interface.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-operation"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
The wsdl-operation element defines an operation within a WSDL
document. It must be interpreted with respect to a port type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wrapped-element"
type="j2ee:emptyType"
minOccurs="0"
maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The wrapped-element element is defined when a WSDL message
with a single part is used to wrap an element type and the
element's name matches the operation name.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="method-param-parts-mapping"
type="j2ee:method-param-parts-mappingType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="wsdl-return-value-mapping"
type="j2ee:wsdl-return-value-mappingType"
minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="service-interface-mappingType">
<xsd:annotation>
<xsd:documentation>
The service-interface-mapping element defines how a Java type for
the service interface maps to a WSDL service.
Used in: java-wsdl-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="service-interface"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The service-interface element defines the Java type for the service.
For static services, it is javax.xml.rpc.Service interface. For
generated service, it would be the generated interface name.
The name must be a fully qualified class name.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-service-name"
type="j2ee:xsdQNameType">
<xsd:annotation>
<xsd:documentation>
The wsdl-service-name element defines the wsdl service name
by a QNAME which uniquely identifies the service.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="port-mapping"
type="j2ee:port-mappingType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="variable-mappingType">
<xsd:annotation>
<xsd:documentation>
The variable-mapping element defines the correlation between a
Java class data member or JavaBeans property to an XML element
or attribute name of an XML root type. If the data-member
element is present, the Java variable name is a public data
member. If data-member is not present, the Java variable name
is a JavaBeans property.
Used in: java-xml-type-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="java-variable-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
The java-variable-name defines the name of a public data member or
JavaBeans property within a Java class.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="data-member"
type="j2ee:emptyType"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The data-member element is a boolean indicator that a Java
variable is a public data member and not a JavaBeans property.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="xml-attribute-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
The xml-attribute-name element defines name attribute value
of a WSDL attribute element within a root type. The value
of an xml-attribute-name element must match the value of
the ref attribute if mapping an attribute reference.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="xml-element-name"
type="j2ee:string">
<xsd:annotation>
<xsd:documentation>
The xml-element-name element defines name attribute value of
a WSDL element within a root type. The value of an
xml-element-name element must match the value of the ref
attribute if mapping an element reference.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="xml-wildcard"
type="j2ee:emptyType">
<xsd:annotation>
<xsd:documentation>
The xml-wildcard element associates the variable-mapping with
an xsd:any element within a root type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="wsdl-message-mappingType">
<xsd:annotation>
<xsd:documentation>
The wsdl-message-mapping element defines the mapping to a
specific message and its part. Together they define uniquely
the mapping for a specific parameter. Parts within a message
context are uniquely identified with their names.
The parameter-mode is defined by the mapping to indicate
whether the mapping will be IN, OUT, or INOUT.. The presence
of the soap-header element indicates that the parameter is
mapped to a soap header only. When absent, it means that the
wsdl-message is mapped to a Java parameter. The soap headers
are interpreted in the order they are provided in the mapping.
Used in: method-param-parts-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="wsdl-message"
type="j2ee:wsdl-messageType"/>
<xsd:element name="wsdl-message-part-name"
type="j2ee:wsdl-message-part-nameType"/>
<xsd:element name="parameter-mode"
type="j2ee:parameter-modeType"/>
<xsd:element name="soap-header"
type="j2ee:emptyType"
minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The soap-header element is a boolean element indicating that
a parameter is mapped to a SOAP header.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="wsdl-message-part-nameType">
<xsd:annotation>
<xsd:documentation>
Interpretation of the wsdl-message-part-name element depends on
whether or not wrapped-element has been defined in the
service-endpoint-method-mapping. If wrapped-element is not
specified, wsdl-message-part-name defines a WSDL message part. It
should always be interpreted with respect to a wsdl-message
element. If wrapped-element is specified, wsdl-message-part-name
refers to an element name of the element type.
Used in: wsdl-message-mapping, wsdl-return-value-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="j2ee:string"/>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="wsdl-messageType">
<xsd:annotation>
<xsd:documentation>
The wsdl-message element defines a WSDL message by a QNAME.
Used in: wsdl-message-mapping, wsdl-return-value-mapping,
exception-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="j2ee:xsdQNameType"/>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="wsdl-return-value-mappingType">
<xsd:annotation>
<xsd:documentation>
The wsdl-return-value-mapping element defines the mapping for the
method's return value. It defines the mapping to a specific message
and its part. Together they define uniquely the mapping for a
specific parameter. Parts within a message context are uniquely
identified with their names. The wsdl-message-part-name is not
specified if there is no return value or OUT parameters.
Used in: service-endpoint-method-mapping
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="method-return-value"
type="j2ee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
The method-return-value element defines a fully qualified
class name or void type for the method's return value
type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-message"
type="j2ee:wsdl-messageType"/>
<xsd:element name="wsdl-message-part-name"
type="j2ee:wsdl-message-part-nameType"
minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
</xsd:schema>