javaee_web_services_client_1_2.xsd 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
  3. targetNamespace="http://java.sun.com/xml/ns/javaee"
  4. xmlns:javaee="http://java.sun.com/xml/ns/javaee"
  5. xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  6. elementFormDefault="qualified"
  7. attributeFormDefault="unqualified"
  8. version="1.2">
  9. <xsd:annotation>
  10. <xsd:documentation>
  11. @(#)javaee_web_services_client_1_2.xsds 1.19 02/13/06
  12. </xsd:documentation>
  13. </xsd:annotation>
  14. <xsd:annotation>
  15. <xsd:documentation>
  16. Copyright 2003-2006 Sun Microsystems, Inc.
  17. 4150 Network Circle
  18. Santa Clara, California 95054
  19. U.S.A
  20. All rights reserved.
  21. Sun Microsystems, Inc. has intellectual property rights
  22. relating to technology described in this document. In
  23. particular, and without limitation, these intellectual
  24. property rights may include one or more of the U.S. patents
  25. listed at http://www.sun.com/patents and one or more
  26. additional patents or pending patent applications in the
  27. U.S. and other countries.
  28. This document and the technology which it describes are
  29. distributed under licenses restricting their use, copying,
  30. distribution, and decompilation. No part of this document
  31. may be reproduced in any form by any means without prior
  32. written authorization of Sun and its licensors, if any.
  33. Third-party software, including font technology, is
  34. copyrighted and licensed from Sun suppliers.
  35. Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
  36. JavaServer Pages, Enterprise JavaBeans and the Java Coffee
  37. Cup logo are trademarks or registered trademarks of Sun
  38. Microsystems, Inc. in the U.S. and other countries.
  39. Federal Acquisitions: Commercial Software - Government Users
  40. Subject to Standard License Terms and Conditions.
  41. </xsd:documentation>
  42. </xsd:annotation>
  43. <xsd:annotation>
  44. <xsd:documentation>
  45. (C) Copyright International Business Machines Corporation 2002
  46. </xsd:documentation>
  47. </xsd:annotation>
  48. <!-- **************************************************** -->
  49. <xsd:complexType name="port-component-refType">
  50. <xsd:annotation>
  51. <xsd:documentation>
  52. The port-component-ref element declares a client dependency
  53. on the container for resolving a Service Endpoint Interface
  54. to a WSDL port. It optionally associates the Service Endpoint
  55. Interface with a particular port-component. This is only used
  56. by the container for a Service.getPort(Class) method call.
  57. </xsd:documentation>
  58. </xsd:annotation>
  59. <xsd:sequence>
  60. <xsd:element name="service-endpoint-interface"
  61. type="javaee:fully-qualified-classType">
  62. <xsd:annotation>
  63. <xsd:documentation>
  64. The service-endpoint-interface element defines a fully qualified
  65. Java class that represents the Service Endpoint Interface of a
  66. WSDL port.
  67. </xsd:documentation>
  68. </xsd:annotation>
  69. </xsd:element>
  70. <xsd:element name="enable-mtom"
  71. type="javaee:true-falseType"
  72. minOccurs="0" maxOccurs="1">
  73. <xsd:annotation>
  74. <xsd:documentation>
  75. Used to enable or disable SOAP MTOM/XOP mechanism on the client
  76. side for a port-component.
  77. Not to be specified for JAX-RPC runtime
  78. </xsd:documentation>
  79. </xsd:annotation>
  80. </xsd:element>
  81. <xsd:element name="port-component-link"
  82. type="javaee:string"
  83. minOccurs="0" maxOccurs="1">
  84. <xsd:annotation>
  85. <xsd:documentation>
  86. The port-component-link element links a port-component-ref
  87. to a specific port-component required to be made available
  88. by a service reference.
  89. The value of a port-component-link must be the
  90. port-component-name of a port-component in the same module
  91. or another module in the same application unit. The syntax
  92. for specification follows the syntax defined for ejb-link
  93. in the EJB 2.0 specification.
  94. </xsd:documentation>
  95. </xsd:annotation>
  96. </xsd:element>
  97. </xsd:sequence>
  98. <xsd:attribute name="id" type="xsd:ID"/>
  99. </xsd:complexType>
  100. <!-- **************************************************** -->
  101. <xsd:group name="service-refGroup">
  102. <xsd:sequence>
  103. <xsd:element name="service-ref"
  104. type="javaee:service-refType"
  105. minOccurs="0" maxOccurs="unbounded">
  106. <xsd:key name="service-ref_handler-name-key">
  107. <xsd:annotation>
  108. <xsd:documentation>
  109. Defines the name of the handler. The name must be unique
  110. within the module.
  111. </xsd:documentation>
  112. </xsd:annotation>
  113. <xsd:selector xpath="javaee:handler"/>
  114. <xsd:field xpath="javaee:handler-name"/>
  115. </xsd:key>
  116. </xsd:element>
  117. </xsd:sequence>
  118. </xsd:group>
  119. <!-- **************************************************** -->
  120. <xsd:complexType name="service-refType">
  121. <xsd:annotation>
  122. <xsd:documentation>
  123. The service-ref element declares a reference to a Web
  124. service. It contains optional description, display name and
  125. icons, a declaration of the required Service interface,
  126. an optional WSDL document location, an optional set
  127. of JAX-RPC mappings, an optional QName for the service element,
  128. an optional set of Service Endpoint Interfaces to be resolved
  129. by the container to a WSDL port, and an optional set of handlers.
  130. </xsd:documentation>
  131. </xsd:annotation>
  132. <xsd:sequence>
  133. <xsd:group ref="javaee:descriptionGroup"/>
  134. <xsd:element name="service-ref-name"
  135. type="javaee:jndi-nameType">
  136. <xsd:annotation>
  137. <xsd:documentation>
  138. The service-ref-name element declares logical name that the
  139. components in the module use to look up the Web service. It
  140. is recommended that all service reference names start with
  141. "service/".
  142. </xsd:documentation>
  143. </xsd:annotation>
  144. </xsd:element>
  145. <xsd:element name="service-interface"
  146. type="javaee:fully-qualified-classType">
  147. <xsd:annotation>
  148. <xsd:documentation>
  149. The service-interface element declares the fully qualified class
  150. name of the JAX-RPC Service interface the client depends on.
  151. In most cases the value will be javax.xml.rpc.Service. A JAX-RPC
  152. generated Service Interface class may also be specified.
  153. </xsd:documentation>
  154. </xsd:annotation>
  155. </xsd:element>
  156. <xsd:element name="service-ref-type"
  157. type="javaee:fully-qualified-classType"
  158. minOccurs="0" maxOccurs="1">
  159. <xsd:annotation>
  160. <xsd:documentation>
  161. The service-ref-type element declares the type of the service-ref
  162. element that is injected or returned when a JNDI lookup is done.
  163. This must be either a fully qualified name of Service class or
  164. the fully qualified name of service endpoint interface class.
  165. This is only used with JAX-WS runtime where the corresponding
  166. @WebServiceRef annotation can be used to denote both a Service
  167. or a Port.
  168. If this is not specified, then the type of service-ref element
  169. that is injected or returned when a JNDI lookup is done is
  170. always a Service interface/class.
  171. </xsd:documentation>
  172. </xsd:annotation>
  173. </xsd:element>
  174. <xsd:element name="wsdl-file"
  175. type="javaee:xsdAnyURIType"
  176. minOccurs="0" maxOccurs="1">
  177. <xsd:annotation>
  178. <xsd:documentation>
  179. The wsdl-file element contains the URI location of a WSDL
  180. file. The location is relative to the root of the module.
  181. </xsd:documentation>
  182. </xsd:annotation>
  183. </xsd:element>
  184. <xsd:element name="jaxrpc-mapping-file"
  185. type="javaee:pathType"
  186. minOccurs="0" maxOccurs="1">
  187. <xsd:annotation>
  188. <xsd:documentation>
  189. The jaxrpc-mapping-file element contains the name of a file that
  190. describes the JAX-RPC mapping between the Java interaces used by
  191. the application and the WSDL description in the wsdl-file. The
  192. file name is a relative path within the module file.
  193. This is not required when JAX-WS based runtime is used.
  194. </xsd:documentation>
  195. </xsd:annotation>
  196. </xsd:element>
  197. <xsd:element name="service-qname"
  198. type="javaee:xsdQNameType"
  199. minOccurs="0" maxOccurs="1">
  200. <xsd:annotation>
  201. <xsd:documentation>
  202. The service-qname element declares the specific WSDL service
  203. element that is being refered to. It is not specified if no
  204. wsdl-file is declared.
  205. </xsd:documentation>
  206. </xsd:annotation>
  207. </xsd:element>
  208. <xsd:element name="port-component-ref"
  209. type="javaee:port-component-refType"
  210. minOccurs="0" maxOccurs="unbounded">
  211. <xsd:annotation>
  212. <xsd:documentation>
  213. The port-component-ref element declares a client dependency
  214. on the container for resolving a Service Endpoint Interface
  215. to a WSDL port. It optionally associates the Service Endpoint
  216. Interface with a particular port-component. This is only used
  217. by the container for a Service.getPort(Class) method call.
  218. </xsd:documentation>
  219. </xsd:annotation>
  220. </xsd:element>
  221. <xsd:choice>
  222. <xsd:element name="handler"
  223. type="javaee:service-ref_handlerType"
  224. minOccurs="0" maxOccurs="unbounded">
  225. <xsd:annotation>
  226. <xsd:documentation>
  227. Declares the handler for a port-component. Handlers can
  228. access the init-param name/value pairs using the
  229. HandlerInfo interface. If port-name is not specified, the
  230. handler is assumed to be associated with all ports of the
  231. service.
  232. To be used with JAX-RPC based runtime only.
  233. </xsd:documentation>
  234. </xsd:annotation>
  235. </xsd:element>
  236. <xsd:element name="handler-chains"
  237. type="javaee:service-ref_handler-chainsType"
  238. minOccurs="0" maxOccurs="1">
  239. <xsd:annotation>
  240. <xsd:documentation>
  241. To be used with JAX-WS based runtime only.
  242. </xsd:documentation>
  243. </xsd:annotation>
  244. </xsd:element>
  245. </xsd:choice>
  246. <xsd:group ref="javaee:resourceGroup"/>
  247. </xsd:sequence>
  248. <xsd:attribute name="id" type="xsd:ID"/>
  249. </xsd:complexType>
  250. <!-- **************************************************** -->
  251. <xsd:complexType name="service-ref_handler-chainType">
  252. <xsd:annotation>
  253. <xsd:documentation>
  254. The handler-chain element defines the handlerchain.
  255. Handlerchain can be defined such that the handlers in the
  256. handlerchain operate,all ports of a service, on a specific
  257. port or on a list of protocol-bindings. The choice of elements
  258. service-name-pattern, port-name-pattern and protocol-bindings
  259. are used to specify whether the handlers in handler-chain are
  260. for a service, port or protocol binding. If none of these
  261. choices are specified with the handler-chain element then the
  262. handlers specified in the handler-chain will be applied on
  263. everything.
  264. </xsd:documentation>
  265. </xsd:annotation>
  266. <xsd:sequence>
  267. <xsd:choice minOccurs="0" maxOccurs="1">
  268. <xsd:element name="service-name-pattern"
  269. type="javaee:service-ref_qname-pattern" />
  270. <xsd:element name="port-name-pattern"
  271. type="javaee:service-ref_qname-pattern" />
  272. <xsd:element name="protocol-bindings"
  273. type="javaee:service-ref_protocol-bindingListType"/>
  274. </xsd:choice>
  275. <xsd:element name="handler"
  276. type="javaee:service-ref_handlerType"
  277. minOccurs="1" maxOccurs="unbounded"/>
  278. </xsd:sequence>
  279. <xsd:attribute name="id" type="xsd:ID"/>
  280. </xsd:complexType>
  281. <!-- **************************************************** -->
  282. <xsd:complexType name="service-ref_handler-chainsType">
  283. <xsd:annotation>
  284. <xsd:documentation>
  285. The handler-chains element defines the handlerchains associated with this
  286. service or service endpoint.
  287. </xsd:documentation>
  288. </xsd:annotation>
  289. <xsd:sequence>
  290. <xsd:element name="handler-chain"
  291. type="javaee:service-ref_handler-chainType"
  292. minOccurs="0" maxOccurs="unbounded"/>
  293. </xsd:sequence>
  294. <xsd:attribute name="id" type="xsd:ID"/>
  295. </xsd:complexType>
  296. <!-- **************************************************** -->
  297. <xsd:complexType name="service-ref_handlerType">
  298. <xsd:annotation>
  299. <xsd:documentation>
  300. Declares the handler for a port-component. Handlers can access the
  301. init-param name/value pairs using the HandlerInfo interface. If
  302. port-name is not specified, the handler is assumed to be associated
  303. with all ports of the service.
  304. Used in: service-ref
  305. </xsd:documentation>
  306. </xsd:annotation>
  307. <xsd:sequence>
  308. <xsd:group ref="javaee:descriptionGroup"/>
  309. <xsd:element name="handler-name"
  310. type="javaee:string">
  311. <xsd:annotation>
  312. <xsd:documentation>
  313. Defines the name of the handler. The name must be unique
  314. within the module.
  315. </xsd:documentation>
  316. </xsd:annotation>
  317. </xsd:element>
  318. <xsd:element name="handler-class"
  319. type="javaee:fully-qualified-classType">
  320. <xsd:annotation>
  321. <xsd:documentation>
  322. Defines a fully qualified class name for the handler
  323. implementation.
  324. </xsd:documentation>
  325. </xsd:annotation>
  326. </xsd:element>
  327. <xsd:element name="init-param"
  328. type="javaee:param-valueType"
  329. minOccurs="0" maxOccurs="unbounded"/>
  330. <xsd:element name="soap-header"
  331. type="javaee:xsdQNameType"
  332. minOccurs="0" maxOccurs="unbounded">
  333. <xsd:annotation>
  334. <xsd:documentation>
  335. Defines the QName of a SOAP header that will be processed
  336. by the handler.
  337. </xsd:documentation>
  338. </xsd:annotation>
  339. </xsd:element>
  340. <xsd:element name="soap-role"
  341. type="javaee:string"
  342. minOccurs="0" maxOccurs="unbounded">
  343. <xsd:annotation>
  344. <xsd:documentation>
  345. The soap-role element contains a SOAP actor definition that
  346. the Handler will play as a role.
  347. </xsd:documentation>
  348. </xsd:annotation>
  349. </xsd:element>
  350. <xsd:element name="port-name"
  351. type="javaee:string"
  352. minOccurs="0" maxOccurs="unbounded">
  353. <xsd:annotation>
  354. <xsd:documentation>
  355. The port-name element defines the WSDL port-name that a
  356. handler should be associated with.
  357. </xsd:documentation>
  358. </xsd:annotation>
  359. </xsd:element>
  360. </xsd:sequence>
  361. <xsd:attribute name="id" type="xsd:ID"/>
  362. </xsd:complexType>
  363. <!-- **************************************************** -->
  364. <xsd:simpleType name="service-ref_protocol-URIAliasType">
  365. <xsd:annotation>
  366. <xsd:documentation>
  367. Defines the type that is used for specifying tokens that
  368. start with ## which are used to alias existing standard
  369. protocol bindings and support aliases for new standard
  370. binding URIs that are introduced in future specifications.
  371. The following tokens alias the standard protocol binding
  372. URIs:
  373. ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http"
  374. ##SOAP11_HTTP_MTOM =
  375. "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true"
  376. ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/"
  377. ##SOAP12_HTTP_MTOM =
  378. "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true"
  379. ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http"
  380. </xsd:documentation>
  381. </xsd:annotation>
  382. <xsd:restriction base="xsd:token">
  383. <xsd:pattern value="##.+"/>
  384. </xsd:restriction>
  385. </xsd:simpleType>
  386. <!-- **************************************************** -->
  387. <xsd:simpleType name="service-ref_protocol-bindingListType">
  388. <xsd:annotation>
  389. <xsd:documentation>
  390. Defines the type used for specifying a list of
  391. protocol-bindingType(s). For e.g.
  392. ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP
  393. </xsd:documentation>
  394. </xsd:annotation>
  395. <xsd:list itemType="javaee:service-ref_protocol-bindingType"/>
  396. </xsd:simpleType>
  397. <!-- **************************************************** -->
  398. <xsd:simpleType name="service-ref_protocol-bindingType">
  399. <xsd:annotation>
  400. <xsd:documentation>
  401. Defines the type used for specifying the URI for the
  402. protocol binding used by the port-component. For
  403. portability one could use one of the following tokens that
  404. alias the standard binding types:
  405. ##SOAP11_HTTP
  406. ##SOAP11_HTTP_MTOM
  407. ##SOAP12_HTTP
  408. ##SOAP12_HTTP_MTOM
  409. ##XML_HTTP
  410. Other specifications could define tokens that start with ##
  411. to alias new standard binding URIs that are introduced.
  412. </xsd:documentation>
  413. </xsd:annotation>
  414. <xsd:union memberTypes="xsd:anyURI javaee:service-ref_protocol-URIAliasType"/>
  415. </xsd:simpleType>
  416. <!-- **************************************************** -->
  417. <xsd:simpleType name="service-ref_qname-pattern">
  418. <xsd:annotation>
  419. <xsd:documentation>
  420. This is used to specify the QName pattern in the
  421. attribute service-name-pattern and port-name-pattern in
  422. the handler-chain element
  423. For example, the various forms acceptable here for
  424. service-name-pattern attribute in handler-chain element
  425. are :
  426. Exact Name: service-name-pattern="ns1:EchoService"
  427. In this case, handlers specified in this
  428. handler-chain element will apply to all ports with
  429. this exact service name. The namespace prefix must
  430. have been declared in a namespace declaration
  431. attribute in either the start-tag of the element
  432. where the prefix is used or in an an ancestor
  433. element (i.e. an element in whose content the
  434. prefixed markup occurs)
  435. Pattern : service-name-pattern="ns1:EchoService*"
  436. In this case, handlers specified in this
  437. handler-chain element will apply to all ports whose
  438. Service names are like EchoService1, EchoServiceFoo
  439. etc. The namespace prefix must have been declared in
  440. a namespace declaration attribute in either the
  441. start-tag of the element where the prefix is used or
  442. in an an ancestor element (i.e. an element in whose
  443. content the prefixed markup occurs)
  444. Wild Card : service-name-pattern="*"
  445. In this case, handlers specified in this handler-chain
  446. element will apply to ports of all service names.
  447. The same can be applied to port-name attribute in
  448. handler-chain element.
  449. </xsd:documentation>
  450. </xsd:annotation>
  451. <xsd:restriction base="xsd:token">
  452. <xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/>
  453. </xsd:restriction>
  454. </xsd:simpleType>
  455. </xsd:schema>