blob: 7e2a7980a224f3bce97a40d08c8044f85b3c5dba [file] [log] [blame]
david_williamse073de12007-04-28 04:01:44 +00001<?xml version="1.0" encoding="UTF-8"?>
2
3<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
4 targetNamespace="http://java.sun.com/xml/ns/j2ee"
5 xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
6 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7 elementFormDefault="qualified"
8 attributeFormDefault="unqualified"
9 version="1.1">
10 <xsd:annotation>
11 <xsd:documentation>
12 @(#)j2ee_web_services_1_1.xsds 1.11 02/11/03
13 </xsd:documentation>
14 </xsd:annotation>
15
16 <xsd:annotation>
17 <xsd:documentation>
18
19 Copyright 2003 Sun Microsystems, Inc., 901 San Antonio
20 Road, Palo Alto, California 94303, U.S.A. All rights
21 reserved.
22
23 Sun Microsystems, Inc. has intellectual property rights
24 relating to technology described in this document. In
25 particular, and without limitation, these intellectual
26 property rights may include one or more of the U.S. patents
27 listed at http://www.sun.com/patents and one or more
28 additional patents or pending patent applications in the
29 U.S. and other countries.
30
31 This document and the technology which it describes are
32 distributed under licenses restricting their use, copying,
33 distribution, and decompilation. No part of this document
34 may be reproduced in any form by any means without prior
35 written authorization of Sun and its licensors, if any.
36
37 Third-party software, including font technology, is
38 copyrighted and licensed from Sun suppliers.
39
40 Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
41 JavaServer Pages, Enterprise JavaBeans and the Java Coffee
42 Cup logo are trademarks or registered trademarks of Sun
43 Microsystems, Inc. in the U.S. and other countries.
44
45 Federal Acquisitions: Commercial Software - Government Users
46 Subject to Standard License Terms and Conditions.
47
48 </xsd:documentation>
49 </xsd:annotation>
50
51 <xsd:annotation>
52 <xsd:documentation>
53
54 (C) Copyright International Business Machines Corporation 2002
55
56 </xsd:documentation>
57 </xsd:annotation>
58
59 <xsd:annotation>
60 <xsd:documentation>
61 <![CDATA[
62
63 The webservices element is the root element for the web services
64 deployment descriptor. It specifies the set of web service
65 descriptions that are to be deployed into the J2EE Application
66 Server and the dependencies they have on container resources and
67 services. The deployment descriptor must be named
68 "META-INF/webservices.xml" in the web services' jar file.
69
70 Used in: webservices.xml
71
72 All webservices deployment descriptors must indicate the
73 webservices schema by using the J2EE namespace:
74
75 http://java.sun.com/xml/ns/j2ee
76
77 and by indicating the version of the schema by using the version
78 element as shown below:
79
80 <webservices xmlns="http://java.sun.com/xml/ns/j2ee"
81 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
82 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
83 http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
84 version="1.1">
85 ...
86 </webservices>
87
88 The instance documents may indicate the published version of the
89 schema using the xsi:schemaLocation attribute for the J2EE
90 namespace with the following location:
91
92 http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd
93
94 ]]>
95 </xsd:documentation>
96 </xsd:annotation>
97
98 <xsd:annotation>
99 <xsd:documentation>
100
101 The following conventions apply to all J2EE
102 deployment descriptor elements unless indicated otherwise.
103
104 - In elements that specify a pathname to a file within the
105 same JAR file, relative filenames (i.e., those not
106 starting with "/") are considered relative to the root of
107 the JAR file's namespace. Absolute filenames (i.e., those
108 starting with "/") also specify names in the root of the
109 JAR file's namespace. In general, relative names are
110 preferred. The exception is .war files where absolute
111 names are preferred for consistency with the Servlet API.
112
113 </xsd:documentation>
114 </xsd:annotation>
115
116 <xsd:include schemaLocation="j2ee_1_4.xsd"/>
117
118
119<!-- **************************************************** -->
120
121
122 <xsd:element name="webservices" type="j2ee:webservicesType">
123 <xsd:annotation>
124 <xsd:documentation>
125
126 The webservices element is the root element for the web services
127 deployment descriptor. It specifies the set of web service
128 descriptions that are to be deployed into the J2EE Application Server
129 and the dependencies they have on container resources and services.
130
131 Used in: webservices.xml
132
133 </xsd:documentation>
134 </xsd:annotation>
135
136 <xsd:key name="webservice-description-name-key">
137 <xsd:annotation>
138 <xsd:documentation>
139
140 The webservice-description-name identifies the collection of
141 port-components associated with a WSDL file and JAX-RPC mapping. The
142 name must be unique within the deployment descriptor.
143
144 </xsd:documentation>
145 </xsd:annotation>
146 <xsd:selector xpath="j2ee:webservice-description"/>
147 <xsd:field xpath="j2ee:webservice-description-name"/>
148 </xsd:key>
149 </xsd:element>
150
151<!-- **************************************************** -->
152
153 <xsd:complexType name="port-componentType">
154 <xsd:annotation>
155 <xsd:documentation>
156
157 The port-component element associates a WSDL port with a web service
158 interface and implementation. It defines the name of the port as a
159 component, optional description, optional display name, optional iconic
160 representations, WSDL port QName, Service Endpoint Interface, Service
161 Implementation Bean.
162
163 </xsd:documentation>
164 </xsd:annotation>
165
166 <xsd:sequence>
167 <xsd:element name="description"
168 type="j2ee:descriptionType"
169 minOccurs="0" maxOccurs="1"/>
170 <xsd:element name="display-name"
171 type="j2ee:display-nameType"
172 minOccurs="0" maxOccurs="1"/>
173 <xsd:element name="icon"
174 type="j2ee:iconType"
175 minOccurs="0" maxOccurs="1"/>
176 <xsd:element name="port-component-name"
177 type="j2ee:string">
178 <xsd:annotation>
179 <xsd:documentation>
180 <![CDATA[
181
182 The port-component-name element specifies a port component's
183 name. This name is assigned by the module producer to name
184 the service implementation bean in the module's deployment
185 descriptor. The name must be unique among the port component
186 names defined in the same module.
187
188 Used in: port-component
189
190 Example:
191 <port-component-name>EmployeeService
192 </port-component-name>
193
194 ]]>
195 </xsd:documentation>
196 </xsd:annotation>
197 </xsd:element>
198 <xsd:element name="wsdl-port"
199 type="j2ee:xsdQNameType">
200 <xsd:annotation>
201 <xsd:documentation>
202
203 Defines the name space and local name part of the WSDL port QName.
204
205 </xsd:documentation>
206 </xsd:annotation>
207 </xsd:element>
208 <xsd:element name="service-endpoint-interface"
209 type="j2ee:fully-qualified-classType">
210 <xsd:annotation>
211 <xsd:documentation>
212 <![CDATA[
213
214 The service-endpoint-interface element contains the
215 fully-qualified name of the port component's Service Endpoint
216 Interface.
217
218 Used in: port-component
219
220 Example:
221 <remote>com.wombat.empl.EmployeeService</remote>
222
223 ]]>
224 </xsd:documentation>
225 </xsd:annotation>
226 </xsd:element>
227 <xsd:element name="service-impl-bean"
228 type="j2ee:service-impl-beanType"/>
229
230 <xsd:element name="handler"
231 type="j2ee:port-component_handlerType"
232 minOccurs="0" maxOccurs="unbounded"/>
233 </xsd:sequence>
234 <xsd:attribute name="id" type="xsd:ID"/>
235 </xsd:complexType>
236
237<!-- **************************************************** -->
238
239 <xsd:complexType name="port-component_handlerType">
240 <xsd:annotation>
241 <xsd:documentation>
242
243 Declares the handler for a port-component. Handlers can access the
244 init-param name/value pairs using the HandlerInfo interface.
245
246 Used in: port-component
247
248 </xsd:documentation>
249 </xsd:annotation>
250 <xsd:sequence>
251 <xsd:group ref="j2ee:descriptionGroup"/>
252 <xsd:element name="handler-name"
253 type="j2ee:string">
254 <xsd:annotation>
255 <xsd:documentation>
256
257 Defines the name of the handler. The name must be unique within the
258 module.
259
260 </xsd:documentation>
261 </xsd:annotation>
262 </xsd:element>
263 <xsd:element name="handler-class"
264 type="j2ee:fully-qualified-classType">
265 <xsd:annotation>
266 <xsd:documentation>
267
268 Defines a fully qualified class name for the handler implementation.
269
270 </xsd:documentation>
271 </xsd:annotation>
272 </xsd:element>
273 <xsd:element name="init-param"
274 type="j2ee:param-valueType"
275 minOccurs="0" maxOccurs="unbounded"/>
276
277 <xsd:element name="soap-header"
278 type="j2ee:xsdQNameType"
279 minOccurs="0" maxOccurs="unbounded">
280 <xsd:annotation>
281 <xsd:documentation>
282
283 Defines the QName of a SOAP header that will be processed by the
284 handler.
285
286 </xsd:documentation>
287 </xsd:annotation>
288 </xsd:element>
289 <xsd:element name="soap-role"
290 type="j2ee:string"
291 minOccurs="0" maxOccurs="unbounded">
292 <xsd:annotation>
293 <xsd:documentation>
294
295 The soap-role element contains a SOAP actor definition that the
296 Handler will play as a role.
297
298 </xsd:documentation>
299 </xsd:annotation>
300 </xsd:element>
301 </xsd:sequence>
302 <xsd:attribute name="id" type="xsd:ID"/>
303 </xsd:complexType>
304
305<!-- **************************************************** -->
306
307 <xsd:complexType name="service-impl-beanType">
308 <xsd:annotation>
309 <xsd:documentation>
310
311 The service-impl-bean element defines the web service implementation.
312 A service implementation can be an EJB bean class or JAX-RPC web
313 component. Existing EJB implementations are exposed as a web service
314 using an ejb-link.
315
316 Used in: port-component
317
318 </xsd:documentation>
319 </xsd:annotation>
320 <xsd:choice>
321 <xsd:element name="ejb-link"
322 type="j2ee:ejb-linkType"/>
323 <xsd:element name="servlet-link"
324 type="j2ee:servlet-linkType"/>
325 </xsd:choice>
326 <xsd:attribute name="id" type="xsd:ID"/>
327 </xsd:complexType>
328
329<!-- **************************************************** -->
330
331 <xsd:complexType name="servlet-linkType">
332 <xsd:annotation>
333 <xsd:documentation>
334 <![CDATA[
335
336 The servlet-link element is used in the service-impl-bean element
337 to specify that a Service Implementation Bean is defined as a
338 JAX-RPC Service Endpoint.
339
340 The value of the servlet-link element must be the servlet-name of
341 a JAX-RPC Service Endpoint in the same WAR file.
342
343 Used in: service-impl-bean
344
345 Example:
346 <servlet-link>StockQuoteService</servlet-link>
347
348 ]]>
349 </xsd:documentation>
350 </xsd:annotation>
351 <xsd:simpleContent>
352 <xsd:restriction base="j2ee:string"/>
353 </xsd:simpleContent>
354 </xsd:complexType>
355
356<!-- **************************************************** -->
357
358 <xsd:complexType name="webservice-descriptionType">
359 <xsd:annotation>
360 <xsd:documentation>
361
362 The webservice-description element defines a WSDL document file
363 and the set of Port components associated with the WSDL ports
364 defined in the WSDL document. There may be multiple
365 webservice-descriptions defined within a module.
366
367 All WSDL file ports must have a corresponding port-component element
368 defined.
369
370 Used in: webservices
371
372 </xsd:documentation>
373 </xsd:annotation>
374
375 <xsd:sequence>
376 <xsd:element name="description"
377 type="j2ee:descriptionType"
378 minOccurs="0" maxOccurs="1"/>
379 <xsd:element name="display-name"
380 type="j2ee:display-nameType"
381 minOccurs="0" maxOccurs="1"/>
382 <xsd:element name="icon"
383 type="j2ee:iconType"
384 minOccurs="0" maxOccurs="1"/>
385 <xsd:element name="webservice-description-name"
386 type="j2ee:string">
387 <xsd:annotation>
388 <xsd:documentation>
389
390 The webservice-description-name identifies the collection of
391 port-components associated with a WSDL file and JAX-RPC
392 mapping. The name must be unique within the deployment descriptor.
393
394 </xsd:documentation>
395 </xsd:annotation>
396 </xsd:element>
397 <xsd:element name="wsdl-file"
398 type="j2ee:pathType">
399 <xsd:annotation>
400 <xsd:documentation>
401
402 The wsdl-file element contains the name of a WSDL file in the
403 module. The file name is a relative path within the module.
404
405 </xsd:documentation>
406 </xsd:annotation>
407 </xsd:element>
408 <xsd:element name="jaxrpc-mapping-file"
409 type="j2ee:pathType">
410 <xsd:annotation>
411 <xsd:documentation>
412
413 The jaxrpc-mapping-file element contains the name of a file that
414 describes the JAX-RPC mapping between the Java interaces used by
415 the application and the WSDL description in the wsdl-file. The
416 file name is a relative path within the module.
417
418 </xsd:documentation>
419 </xsd:annotation>
420 </xsd:element>
421 <xsd:element name="port-component"
422 type="j2ee:port-componentType"
423 minOccurs="1" maxOccurs="unbounded">
424 <xsd:key name="port-component_handler-name-key">
425 <xsd:annotation>
426 <xsd:documentation>
427
428 Defines the name of the handler. The name must be unique
429 within the module.
430
431 </xsd:documentation>
432 </xsd:annotation>
433 <xsd:selector xpath="j2ee:handler"/>
434 <xsd:field xpath="j2ee:handler-name"/>
435 </xsd:key>
436 </xsd:element>
437 </xsd:sequence>
438 <xsd:attribute name="id" type="xsd:ID"/>
439 </xsd:complexType>
440
441<!-- **************************************************** -->
442
443 <xsd:complexType name="webservicesType">
444 <xsd:sequence>
445 <xsd:group ref="j2ee:descriptionGroup"/>
446 <xsd:element name="webservice-description"
447 type="j2ee:webservice-descriptionType"
448 minOccurs="1" maxOccurs="unbounded">
449 <xsd:key name="port-component-name-key">
450 <xsd:annotation>
451 <xsd:documentation>
452 <![CDATA[
453
454 The port-component-name element specifies a port
455 component's name. This name is assigned by the module
456 producer to name the service implementation bean in the
457 module's deployment descriptor. The name must be unique
458 among the port component names defined in the same module.
459
460 Used in: port-component
461
462 Example:
463 <port-component-name>EmployeeService
464 </port-component-name>
465
466 ]]>
467 </xsd:documentation>
468 </xsd:annotation>
469 <xsd:selector xpath="j2ee:port-component"/>
470 <xsd:field xpath="j2ee:port-component-name"/>
471 </xsd:key>
472 </xsd:element>
473 </xsd:sequence>
474
475 <xsd:attribute name="version"
476 type="j2ee:dewey-versionType"
477 fixed="1.1"
478 use="required">
479 <xsd:annotation>
480 <xsd:documentation>
481
482 The required value for the version is 1.1.
483
484 </xsd:documentation>
485 </xsd:annotation>
486 </xsd:attribute>
487 <xsd:attribute name="id" type="xsd:ID"/>
488 </xsd:complexType>
489
490</xsd:schema>
491