Sun ONE Application Server 开发者指南(29)

类别:Java 点击:0 评论:0 推荐:
 

XML Schema用于部署描述文件

下面的代码是用于创建Web service 部署描述文件的XML模式:

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

<xsd:schema

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

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

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

elementFormDefault=3D"qualified"

attributeFormDefault=3D"unqualified"

version=3D"1.0">

<xsd:annotation>

<xsd:documentation>

这是部署描述文件(jaxrpc-ri.xml)的模式。

顶层元素必须是"webServices"。

</xsd:documentation>

</xsd:annotation>

<xsd:element name=3D"webServices">

<xsd:annotation>

<xsd:documentation>

顶层元素。

属性:    

"version" —— 版本号;

"targetNamespaceBase"? ——WSDL文档的thetargetNamespace的基础URI,该WSDL文档是为那些没有自己的模型文件的端点而生成的;

"typeNamespaceBase"? ——类似于"targetNamespaceBase",但是用于嵌 入在已生成的WSDL 文档中的XML Schema文档;

"urlPatternBase"? ——用于所有端点的基础 URL式样(pattern);通过使用和"endpointMapping(端点映射)",它能够被重载 (见下文)。

对于所有这些基础特性,用于特定端点的值可以由带有追加到它的端点名的基础值来指定。

元素:

"endpoint"* —— 端点描述序列;

"endpointMapping"* —— 端点映射序列。

</xsd:documentation>

</xsd:annotation>

<xsd:complexType>

<xsd:sequence>

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

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

</xsd:sequence>

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

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

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

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

</xsd:complexType>

</xsd:element>

<xsd:complexType name=3D"endpointType">

<xsd:annotation>

<xsd:documentation>

端点描述。

属性:

"name" —— 端点的名称;

"displayName"? —— 端点的可读性名称;

"description"? —— 端点的描述;

"interface"? ——服务端点接口的名称;

"implementation"? ——服务实现类的名称;

"model"? —— 指向描述端点模型文件的资源。

元素:

"handlerChains"? ——端点的处理程序链。

</xsd:documentation>

</xsd:annotation>

<xsd:sequence>

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

</xsd:sequence>

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

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

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

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

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

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

</xsd:complexType>

<xsd:complexType name=3D"endpointMappingType">

<xsd:annotation>

<xsd:documentation>

端点映射条目,类似于web.xml中的servlet映射。

属性:

"endpointName" —— 端点的名称;

"urlPattern" —— 端点的URL式样(pattern)。

</xsd:documentation>

</xsd:annotation>

<xsd:sequence>

</xsd:sequence>

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

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

</xsd:complexType>

<xsd:complexType name=3D"handlerChainsType">

<xsd:annotation>

<xsd:documentation>

一组handlerChains。在部署描述文件中,只有server端的处理程序链能够识别。

</xsd:documentation>

</xsd:annotation>

<xsd:sequence>

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

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name=3D"chainType">

<xsd:annotation>

xsd:documentation>

处理程序链。

属性:

"runAt" —— 指定处理程序链运行在客户端还是运行在服务器端;

"roles" —— 处理程序链的SOAP角色。

元素:

"handler"* —— 形成该链的处理程序序列。

</xsd:documentation>

</xsd:annotation>

<xsd:sequence>

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

</xsd:sequence>

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

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

</xsd:complexType>

<xsd:simpleType name=3D"roleListType">

<xsd:annotation>

<xsd:documentation>

SOAP角色的列表,也就是URI的列表。

</xsd:documentation>

</xsd:annotation>

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

</xsd:simpleType>

<xsd:complexType name=3D"handlerType">

<xsd:annotation>

<xsd:documentation>

处理程序描述。

属性:

"className" —— 处理程序类的名称;

"headers" —— 由处理程序使用的头部的名称。

元素:

"property"* —— 该处理程序的初始化特性。

</xsd:documentation>

</xsd:annotation>

<xsd:sequence>

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

</xsd:sequence>

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

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

</xsd:complexType>

<xsd:simpleType name=3D"headerListType">

<xsd:annotation>

<xsd:documentation>

头部名称的列表,即QNames。

</xsd:documentation>

</xsd:annotation>

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

</xsd:simpleType>

<xsd:complexType name=3D"propertyType">

<xsd:annotation>

<xsd:documentation>

处理程序的初始化特性。

属性:

"name" —— 特性的名称;

"value" —— 特性的值。

</xsd:documentation>

</xsd:annotation>

<xsd:sequence>

</xsd:sequence>

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

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

</xsd:complexType>

<xsd:simpleType name =3D"runAtType">

<xsd:annotation>

<xsd:documentation>

处理程序链可以运行的地方,客户端或者服务器端。

</xsd:documentation>

</xsd:annotation>

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

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

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

</xsd:restriction>

</xsd:simpleType>

</xsd:schema>

本文地址:http://com.8s8s.com/it/it16948.htm