Previous Contents Index Next |
Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Developer's Guide to Web Services

> ## Appendix A
> XML Schema Definitions

> XML Schema Definition (XSD) is a W3C standard for an XML-based type system known as XML Schema. The language used to define is an XML grammar known as XML Schema Definition Language. Web services use XML as the underlying format for representing messages and data. Thus, XSD is a natural choice as the Web service type system.

> For more information on XSD, visit the following URL:

> http://www.w3.org/2001/XMLSchema

> This appendix provides XSDs for the following files used in developing JAX-RPC Web services and clients:

> - XML Schema for wscompile Configuration File
> - XML Schema for Deployment Descriptors
> - XML Schema for Exported wscompile Model Files
> - XML Schema for Runtime Descriptors

> ### XML Schema for wscompile Configuration File

> The following code is the XML Schema used for creating wscompile configuration file:

> <?xml version="1.0" encoding="UTF-8"?>

> <xsd:schema

> xmlns:xsd="http://www.w3.org/2001/XMLSchema"

> xmlns:tns="http://java.sun.com/xml/ns/jax-rpc/ri/config"

> targetNamespace="http://java.sun.com/xml/ns/jax-rpc/ri/config"

> elementFormDefault="qualified"
> attributeFormDefault="unqualified"
> version="1.0">

> <xsd:annotation>

> <xsd:documentation>

> This is the schema for wscompile configuration files.

> The only allowed top-level element is "configuration".

> </xsd:documentation>

> </xsd:annotation>

> <xsd:element name="configuration">

> <xsd:annotation>

> <xsd:documentation>

> The top-level element. It must contain one out of three possible elements,corresponding to three different ways to feed service information to the tool.

> Elements: (mutually exclusive)

> "service" - a service description based on a set of service endpoint interfaces;

> "wsdl" - a WSDL document to import and process;

> "modelfile" - a previously saved model file (-model option in wscompile).

> </xsd:documentation>

> </xsd:annotation>

> <xsd:complexType>

> <xsd:sequence>

> <xsd:choice>

> <xsd:element name="service" type="tns:serviceType"/>

> <xsd:element name="wsdl" type="tns:wsdlType"/>

> <xsd:element name="modelfile" type="tns:modelfileType"/>

> </xsd:choice>

> </xsd:sequence>

> </xsd:complexType>

> </xsd:element>

> <xsd:complexType name="serviceType">

> <xsd:annotation>

> <xsd:documentation>

> A description of a service based on a set of Java interfaces (called "service endpoint interfaces" in the spec).

> Attributes:

> "name" - service name;

> "targetNamespace" - target namespace for the generated WSDL document;

> "typeNamespace" - target namespace for the XML Schema embedded in the generated WSDL document;

> "packageName" - name of the Java package to use by default.

> Elements:

> "interface"* - a sequence of service endpoint interface descriptions;

> "typeMappingRegistry"? - the type mapping registry to use for this service;

> "handlerChains"? - default handler chains for the endpoints in this service;

> "namespaceMappingRegistry"? - XML namespace to Java package mapping information.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="interface" type="tns:interfaceType" minOccurs="0" maxOccurs="unbounded"/>

> <xsd:element name="typeMappingRegistry" type="tns:typeMappingRegistryType" minOccurs="0"/>

> <xsd:element name="handlerChains" type="tns:handlerChainsType" minOccurs="0"/>

> <xsd:element name="namespaceMappingRegistry" type="tns:namespaceMappingRegistryType" minOccurs="0"/>

> </xsd:sequence>

> <xsd:attribute name="name" type="xsd:string" use="required"/>

> <xsd:attribute name="targetNamespace" type="xsd:anyURI" use="required"/>

> <xsd:attribute name="typeNamespace" type="xsd:anyURI" use="required"/>

> <xsd:attribute name="packageName" type="xsd:string" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="interfaceType">

> <xsd:annotation>

> <xsd:documentation>

> An endpoint definition based on a service endpoint interface.

> Attributes:

> "name" - name of the service endpoint interface (a Java interface);

> "servantName" (optional) - name of the service endpoint implementation class;

> "soapAction" (optional) - SOAPAction string to use for all operations in the interface;

> "soapActionBase" (optional) - base URI for the SOAPAction string; the SOAPAction for a given operation will be obtained by appending the operation name to the value provided here; this attribute is exclusive with the "soapAction" one.

> Elements:

> "handlerChains" - specifies the handler chains for this endpoint.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="handlerChains" type="tns:handlerChainsType" minOccurs="0"/>

> </xsd:sequence>

> <xsd:attribute name="name" type="xsd:string" use="required"/>

> <xsd:attribute name="servantName" type="xsd:string"/>

> <xsd:attribute name="soapAction" type="xsd:string"/>

> <xsd:attribute name="soapActionBase" type="xsd:string"/>

> </xsd:complexType>

> <xsd:complexType name="wsdlType">

> <xsd:annotation>

> <xsd:documentation>

> A description of a service based on an existing WSDL document.

> Attributes:

> "location" - URL of the WSDL document;

> "packageName" - name of the Java package to use by default.

> Elements:

> "typeMappingRegistry"? - the type mapping registry to use for this service;

> "handlerChains"? - default handler chains for the endpoints in this service;

> "namespaceMappingRegistry"? - XML namespace to Java package mapping information.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="typeMappingRegistry" type="tns:typeMappingRegistryType" minOccurs="0"/>

> <xsd:element name="handlerChains" type="tns:handlerChainsType" minOccurs="0"/>

> <xsd:element name="namespaceMappingRegistry" type="tns:namespaceMappingRegistryType" minOccurs="0"/>

> </xsd:sequence>

> <xsd:attribute name="location" type="xsd:anyURI" use="required"/>

> <xsd:attribute name="packageName" type="xsd:string" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="modelfileType">

> <xsd:annotation>

> <xsd:documentation>

> A description of a service based on an existing model file.

> Attributes:

> "location" - URL of the model file (typically ending in .xml.gz);

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> </xsd:sequence>

> <xsd:attribute name="location" type="xsd:anyURI" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="handlerChainsType">

> <xsd:annotation>

> <xsd:documentation>

> A set of handlerChains.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="chain" type="tns:chainType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> </xsd:complexType>

> <xsd:complexType name="chainType">

> <xsd:annotation>

> <xsd:documentation>

> A handler chain.

> Attributes:

> "runAt" - specifies whether the chain must run on the client or the server;

> "roles" - the SOAP roles for the chain.

> Elements:

> "handler"* - a sequence of handlers that form this chain.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="handler" type="tns:handlerType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> <xsd:attribute name="runAt" type="tns:runAtType" use="required"/> <xsd:attribute name="roles" type="tns:roleListType"/>

> </xsd:complexType>

> <xsd:simpleType name="roleListType">

> <xsd:annotation>

> <xsd:documentation>

> A list of SOAP roles, i.e. a list of URIs.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:list itemType="xsd:anyURI"/>

> </xsd:simpleType>

> <xsd:complexType name="handlerType">

> <xsd:annotation>

> <xsd:documentation>

> A handler description.

> Attributes:

> "className" - the name of the handler’s class;

> "headers" - the names of the headers consumed by this handler.

> Elements:

> "property"* - initialization properties for this handler.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="property" type="tns:propertyType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> <xsd:attribute name="className" type="xsd:string" use="required"/>

> <xsd:attribute name="headers" type="tns:headerListType"/>

> </xsd:complexType>

> <xsd:simpleType name="headerListType">

> <xsd:annotation>

> <xsd:documentation>

> A list of header names, i.e. a list of QNames.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:list itemType="xsd:QName"/>

> </xsd:simpleType>

> <xsd:complexType name="propertyType">

> <xsd:annotation>

> <xsd:documentation>

> An initialization property for a handler.

> Attributes:

> "name" - the name of the property;

> "value" - its value.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> </xsd:sequence>

> <xsd:attribute name="name" type="xsd:string" use="required"/>

> <xsd:attribute name="value" type="xsd:string" use="required"/>

> </xsd:complexType>

> <xsd:simpleType name ="runAtType">

> <xsd:annotation>

> <xsd:documentation>

> The places a handler chain can run at, one of "client" or "server".

> </xsd:documentation>

> </xsd:annotation>

> <xsd:restriction base="xsd:string">

> <xsd:enumeration value="client"/>

> <xsd:enumeration value="server"/>

> </xsd:restriction>

> </xsd:simpleType>

> <xsd:complexType name="typeMappingRegistryType">

> <xsd:annotation>

> <xsd:documentation>

> A type mapping registry.

> Elements:

> "import"? - a list of XML Schema documents that describe user-defined types.

> "typeMapping"* - a sequence of type mappings, one per encoding.

> "additionalTypes"? - a list of additional Java types that should be processed even if don’t appear in the interfaces for the service.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="import" type="tns:importType" minOccurs="0"/>

> <xsd:element name="typeMapping" type="tns:typeMappingType" minOccurs="0" maxOccurs="unbounded"/>

> <xsd:element name="additionalTypes" type="tns:additionalTypesType" minOccurs="0"/>

> </xsd:sequence>

> </xsd:complexType>

> <xsd:complexType name="importType">

> <xsd:annotation>

> <xsd:documentation>

> A list of schema documents to import, usually describing schema types used by pluggable serializers.

> Elements:

> "schema"* - a list of schema documents to import.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="schema" type="tns:schemaType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> </xsd:complexType>

> <xsd:complexType name="schemaType">

> <xsd:annotation>

> <xsd:documentation>

> One schema document to be imported.

> Attributes:

> "namespace" - the namespace that the document describes; "location" - a URL pointing to the schema document.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> </xsd:sequence>

> <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>

> <xsd:attribute name="location" type="xsd:anyURI" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="typeMappingType">

> <xsd:annotation>

> <xsd:documentation>

> A type mapping for a particular encoding.

> Attributes:

> "encodingStyle" - the URI denoting the encoding.

> Elements:

> "entry"* - a list of type mapping entries.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="entry" type="tns:entryType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> <xsd:attribute name="encodingStyle" type="xsd:anyURI" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="entryType">

> <xsd:annotation>

> <xsd:documentation>

> An entry in a type mapping.

> Attributes:

> "schemaType" - the name of a schema type;

> "javaType" - the name of the corresponding Java class;

> "serializerFactory" - the name of the serializer factory class to use for this type;

> "deserializerFactory" - the name of the deserializer factory class to use for this type.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> </xsd:sequence>

> <xsd:attribute name="schemaType" type="xsd:QName" use="required"/>

> <xsd:attribute name="javaType" type="xsd:string" use="required"/>

> <xsd:attribute name="serializerFactory" type="xsd:string" use="required"/>

> <xsd:attribute name="deserializerFactory" type="xsd:string" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="additionalTypesType">

> <xsd:annotation>

> <xsd:documentation>

> A list of additional Java types to be processed by the tool..

> Elements:

> "class"* - a list of classes to be processed.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="class" type="tns:classType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> </xsd:complexType>

> <xsd:complexType name="classType">

> <xsd:annotation>

> <xsd:documentation>

> A Java class description.

> Attributes:

> "class" - the name of the class.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence> </xsd:sequence>

> <xsd:attribute name="name" type="xsd:string" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="namespaceMappingRegistryType">

> <xsd:annotation>

> <xsd:documentation>

> A registry mapping XML namespace to/from Java packages.

> Elements:

> "namespaceMapping"* - a list of mappings.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="namespaceMapping" type="tns:namespaceMappingType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> </xsd:complexType>

> <xsd:complexType name="namespaceMappingType">

> <xsd:annotation>

> <xsd:documentation>

> One XML namespace to/from Java package mapping.

> Attributes:

> "namespace" - XML namespace name;

> "packageName" - Java package name.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> </xsd:sequence>

> <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>

> <xsd:attribute name="packageName" type="xsd:string" use="required"/>

> </xsd:complexType>

> </xsd:schema>

> ### XML Schema for Deployment Descriptors

> The following code is the XML schema for creating Web service deployment descriptors:

> <?xml version="1.0" encoding="UTF-8"?>

> <xsd:schema

> xmlns:xsd="http://www.w3.org/2001/XMLSchema"

> xmlns:tns="http://java.sun.com/xml/ns/jax-rpc/ri/dd"

> targetNamespace="http://java.sun.com/xml/ns/jax-rpc/ri/dd"

> elementFormDefault="qualified"

> attributeFormDefault="unqualified"

> version="1.0">

> <xsd:annotation>

> <xsd:documentation>

> This is the schema for the deployment descriptors(jaxrpc-ri.xml).

> The top level element must be "webServices".

> </xsd:documentation>

> </xsd:annotation>

> <xsd:element name="webServices">

> <xsd:annotation>

> <xsd:documentation>

> The top-level element.

> Attributes:

> "version" - version number;

> "targetNamespaceBase"? - base URI for thetargetNamespace of the WSDL documents generated for the endpoints that don’t have their own model file;

> "typeNamespaceBase"? - same as "targetNamespaceBase",but used for the XML Schema documents embedded in the generated WSDL documents;

> "urlPatternBase"? - base URL pattern for all endpoints; it can be overridden by using and "endpointMapping" (see below).

> For all these base properties, the value used for a particular endpoint is given by the base value with the endpoint name appended to it.

> Elements:

> "endpoint"* - a sequence of endpoint descriptions;

> "endpointMapping"* - a sequence of endpoint mappings.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:complexType>

> <xsd:sequence>

> <xsd:element name="endpoint" type="tns:endpointType"minOccurs="0" maxOccurs="unbounded"/>

> <xsd:element name="endpointMapping"type="tns:endpointMappingType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> <xsd:attribute name="version" type="xsd:string"use="required"/>

> <xsd:attribute name="targetNamespaceBase" type="xsd:string"/>

> <xsd:attribute name="typeNamespaceBase" type="xsd:string"/>

> <xsd:attribute name="urlPatternBase" type="xsd:string"/>

> </xsd:complexType>

> </xsd:element>

> <xsd:complexType name="endpointType">

> <xsd:annotation>

> <xsd:documentation>

> An endpoint description.

> Attributes:

> "name" - the name of the endpoint;

> "displayName"? - a human-readable name for the endpoint;

> "description"? - a description of the endpoint;

> "interface"? - the name of the service endpoint interface;

> "implementation"? - the name of the service implementation class;

> "model"? - a resource pointing to a model file describing the endpoint.

> Elements:

> "handlerChains"? - the handler chains for the endpoint.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="handlerChains" type="tns:handlerChainsType" minOccurs="0"/>

> </xsd:sequence>

> <xsd:attribute name="name" type="xsd:string" use="required"/>

> <xsd:attribute name="displayName" type="xsd:string"/>

> <xsd:attribute name="description" type="xsd:string"/>

> <xsd:attribute name="interface" type="xsd:string"/>

> <xsd:attribute name="implementation" type="xsd:string"/>

> <xsd:attribute name="model" type="xsd:anyURI"/>

> </xsd:complexType>

> <xsd:complexType name="endpointMappingType">

> <xsd:annotation>

> <xsd:documentation>

> An endpoint mapping entry, similar to servlet-mapping in web.xml.

> Attributes:

> "endpointName" - the name of the endpoint;

> "urlPattern" - the URL pattern for the endpoint.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> </xsd:sequence>

> <xsd:attribute name="endpointName" type="xsd:string" use="required"/>

> <xsd:attribute name="urlPattern" type="xsd:string" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="handlerChainsType">

> <xsd:annotation>

> <xsd:documentation>

> A set of handlerChains. In a deployment descriptor, only server-side chains make sense.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="chain" type="tns:chainType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> </xsd:complexType>

> <xsd:complexType name="chainType">

> <xsd:annotation>

> xsd:documentation>

> A handler chain.

> Attributes:

> "runAt" - specifies whether the chain must run on the client or the server;

> "roles" - the SOAP roles for the chain.

> Elements:

> "handler"* - a sequence of handlers that form this chain.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="handler" type="tns:handlerType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> <xsd:attribute name="runAt" type="tns:runAtType" use="required"/>

> <xsd:attribute name="roles" type="tns:roleListType"/>

> </xsd:complexType>

> <xsd:simpleType name="roleListType">

> <xsd:annotation>

> <xsd:documentation>

> A list of SOAP roles, i.e. a list of URIs.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:list itemType="xsd:anyURI"/>

> </xsd:simpleType>

> <xsd:complexType name="handlerType">

> <xsd:annotation>

> <xsd:documentation>

> A handler description.

> Attributes:

> "className" - the name of the handler’s class;

> "headers" - the names of the headers consumed by this handler.

> Elements:

> "property"* - initialization properties for this handler.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> <xsd:element name="property" type="tns:propertyType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> <xsd:attribute name="className" type="xsd:string" use="required"/>

> <xsd:attribute name="headers" type="tns:headerListType"/>

> </xsd:complexType>

> <xsd:simpleType name="headerListType">

> <xsd:annotation>

> <xsd:documentation>

> A list of header names, i.e. a list of QNames.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:list itemType="xsd:QName"/>

> </xsd:simpleType>

> <xsd:complexType name="propertyType">

> <xsd:annotation>

> <xsd:documentation>

> An initialization property for a handler.

> Attributes:

> "name" - the name of the property;

> "value" - its value.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> </xsd:sequence>

> <xsd:attribute name="name" type="xsd:string" use="required"/>

> <xsd:attribute name="value" type="xsd:string" use="required"/>

> </xsd:complexType>

> <xsd:simpleType name ="runAtType">

> <xsd:annotation>

> <xsd:documentation>

> The places a handler chain can run at, one of "client" or "server".

> </xsd:documentation>

> </xsd:annotation>

> <xsd:restriction base="xsd:string">

> <xsd:enumeration value="client"/>

> <xsd:enumeration value="server"/>

> </xsd:restriction>

> </xsd:simpleType>

> </xsd:schema>

> ### XML Schema for Exported wscompile Model Files

> The following code is the XML schema for exported wscompile model files:

> <?xml version="1.0" encoding="UTF-8"?>

> <xsd:schema

> xmlns:xsd="http://www.w3.org/2001/XMLSchema"

> xmlns:tns="http://java.sun.com/xml/ns/jax-rpc/ri/model"

> targetNamespace="http://java.sun.com/xml/ns/jax-rpc/ri/model"

> elementFormDefault="unqualified"

> attributeFormDefault="unqualified" version="1.0">

> <xsd:annotation>

> <xsd:documentation>

> This is the schema for exported wscompile model files. An exported model is a graph of objects, some of which are "immediate" (e.g. integers, strings). Immediate objects have exactly one value.

> Non-immediate objects have a set of object-valued properties.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:element name="model" form="qualified">

> <xsd:annotation>

> <xsd:documentation>

> A model is a sequence of definitions, which can be of three kinds:

> "object" - object definition;

> "iobject" - immediate object definition;.

> "property" - property definition.

> In addition, a model has a version number ("version" attribute).

> </xsd:documentation>

> </xsd:annotation>

> <xsd:complexType>

> <xsd:sequence minOccurs="0" maxOccurs="unbounded">

> <xsd:choice>

> <xsd:element name="object" type="tns:objectType"/>

> <xsd:element name="iobject" type="tns:iobjectType"/>

> <xsd:element name="property" type="tns:propertyType"/>

> </xsd:choice>

> </xsd:sequence>

> <xsd:attribute name="version" type="xsd:string" use="required"/>

> </xsd:complexType>

> </xsd:element>

> <xsd:complexType name="objectType">

> <xsd:annotation>

> <xsd:documentation>

> Object definition. Contains a unique id as well as a type name for the object.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence/>

> <xsd:attribute name="id" type="xsd:string" use="required"/>

> <xsd:attribute name="type" type="xsd:string" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="iobjectType">

> <xsd:annotation>

> <xsd:documentation>

> Immediate object definition. In addition to id and type, it contains a value.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence/>

> <xsd:attribute name="id" type="xsd:string" use="required"/>

> <xsd:attribute name="type" type="xsd:string" use="required"/>

> <xsd:attribute name="value" type="xsd:string" use="required"/>

> </xsd:complexType>

> <xsd:complexType name="propertyType">

> <xsd:annotation>

> <xsd:documentation>

> Property definition. It says that the "subject" (identified by id) has a property called "name" with the object of id "value" as its value.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence/>

> <xsd:attribute name="name" type="xsd:string" use="required"/>

> <xsd:attribute name="subject" type="xsd:string" use="required"/>

> <xsd:attribute name="value" type="xsd:string" use="required"/>

> </xsd:complexType>

> </xsd:schema>

> ### XML Schema for Runtime Descriptors

> The following code is the XML schema for runtime descriptors:

> <?xml version="1.0" encoding="UTF-8"?>

> <xsd:schema

> xmlns:xsd="http://www.w3.org/2001/XMLSchema"

> xmlns:tns="http://java.sun.com/xml/ns/jax-rpc/ri/runtime"

> targetNamespace="http://java.sun.com/xml/ns/jax-rpc/ri/runtime"

> elementFormDefault="qualified"

> attributeFormDefault="unqualified"

> version="1.0">

> <xsd:annotation>

> <xsd:documentation>

> This is the schema for the runtime descriptors (jaxrpc-ri-runtime.xml).

> The top-level element must be "endpoints".

> </xsd:documentation>

> </xsd:annotation>

> <xsd:element name="endpoints">

> <xsd:annotation>

> <xsd:documentation>

> The top level element. It contains a "version" attribute and a sequence of endpoint definitions.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:complexType>

> <xsd:sequence>

> <xsd:element name="endpoint" type="tns:endpointType" minOccurs="0" maxOccurs="unbounded"/>

> </xsd:sequence>

> <xsd:attribute name="version" type="xsd:string" use="required"/>

> </xsd:complexType>

> </xsd:element>

> <xsd:complexType name="endpointType">

> <xsd:annotation>

> <xsd:documentation>

> An endpoint definition has several attributes:

> "name" - the endpoint name;

> "interface" - the name of the Java interface for the endpoint (called "service endpoint interface" in the spec);

> "implementation" - the name of the endpoint implementation class;

> "tie" - the name of the tie class for the endpoint;

> "model"? - the name of a resource corresponding to the model file for the endpoint;

> "wsdl"? - the name of a resource corresponding to the WSDL document for the endpoint;

> "service"? - the QName of the WSDL service that owns this endpoint;

> "port"? - the QName of the WSDL port for this endpoint;

> "urlpattern" - the URL pattern this endpoint is mapped to.

> </xsd:documentation>

> </xsd:annotation>

> <xsd:sequence>

> </xsd:sequence>

> <xsd:attribute name="name" type="xsd:string" use="required"/>

> <xsd:attribute name="interface" type="xsd:string" use="required"/>

> <xsd:attribute name="implementation" type="xsd:string" use="required"/>

> <xsd:attribute name="tie" type="xsd:string" use="required"/>

> <xsd:attribute name="model" type="xsd:string"/>

> <xsd:attribute name="wsdl" type="xsd:anyURI"/>

> <xsd:attribute name="service" type="xsd:anyURI"/>

> <xsd:attribute name="port" type="xsd:anyURI"/>

> <xsd:attribute name="urlpattern" type="xsd:anyURI" use="required"/>

> </xsd:complexType>

> </xsd:schema>

> Previous Contents Index Next

> Copyright 2004 Sun Microsystems, Inc. All rights reserved.