jboss-as-webservices_1_2.xsd 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ JBoss, Home of Professional Open Source.
  4. ~ Copyright 2012, Red Hat, Inc., and individual contributors
  5. ~ as indicated by the @author tags. See the copyright.txt file in the
  6. ~ distribution for a full listing of individual contributors.
  7. ~
  8. ~ This is free software; you can redistribute it and/or modify it
  9. ~ under the terms of the GNU Lesser General Public License as
  10. ~ published by the Free Software Foundation; either version 2.1 of
  11. ~ the License, or (at your option) any later version.
  12. ~
  13. ~ This software is distributed in the hope that it will be useful,
  14. ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. ~ Lesser General Public License for more details.
  17. ~
  18. ~ You should have received a copy of the GNU Lesser General Public
  19. ~ License along with this software; if not, write to the Free
  20. ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  21. ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  22. -->
  23. <xs:schema
  24. targetNamespace="urn:jboss:domain:webservices:1.2"
  25. xmlns="urn:jboss:domain:webservices:1.2"
  26. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  27. elementFormDefault="qualified"
  28. attributeFormDefault="unqualified"
  29. version="1.2">
  30. <xs:element name="subsystem" type="webservicesSubsystemType" />
  31. <xs:complexType name="webservicesSubsystemType">
  32. <xs:annotation>
  33. <xs:documentation><![CDATA[
  34. The webservices subsystem, used to configure JBossWS.
  35. The WSDL, that is a required deployment artifact for an endpoint, has a <soap:address>
  36. element which points to the location of the endpoint. JBoss supports rewriting of that SOAP address.
  37. If the content of <soap:address> is a valid URL, JBossWS will not rewrite it unless 'modify-soap-address' is true.
  38. If the content of <soap:address> is not a valid URL, JBossWS will rewrite it using the attribute values given below.
  39. If 'webServiceHost' is set to 'jbossws.undefined.host', JBossWS uses requesters host when rewriting the <soap:address>
  40. ]]></xs:documentation>
  41. </xs:annotation>
  42. <xs:sequence>
  43. <xs:element name="modify-wsdl-address" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
  44. <xs:element name="wsdl-host" type="xs:string" minOccurs="0" maxOccurs="1"/>
  45. <xs:element name="wsdl-port" type="xs:int" minOccurs="0" maxOccurs="1">
  46. <xs:annotation>
  47. <xs:documentation>
  48. Set this property to explicitly define the HTTP port that will be used for rewriting the SOAP address.
  49. Otherwise the HTTP port will be identified by querying the list of installed HTTP connectors.
  50. </xs:documentation>
  51. </xs:annotation>
  52. </xs:element>
  53. <xs:element name="wsdl-secure-port" type="xs:int" minOccurs="0" maxOccurs="1">
  54. <xs:annotation>
  55. <xs:documentation>
  56. Set this property to explicitly define the HTTPS port that will be used for rewriting the SOAP address.
  57. Otherwise the HTTPS port will be identified by querying the list of installed HTTPS connectors.
  58. </xs:documentation>
  59. </xs:annotation>
  60. </xs:element>
  61. <xs:element name="endpoint-config" type="endpointConfigType" minOccurs="0" maxOccurs="unbounded"/>
  62. <xs:element name="client-config" type="clientConfigType" minOccurs="0" maxOccurs="unbounded"/>
  63. </xs:sequence>
  64. </xs:complexType>
  65. <xs:complexType name="endpointConfigType">
  66. <xs:annotation>
  67. <xs:documentation>
  68. Endpoint config can define unique properties that are visible only to endpoints using this config.
  69. It can also define PRE and POST handler chains associated with it.
  70. </xs:documentation>
  71. </xs:annotation>
  72. <xs:sequence>
  73. <xs:element name="pre-handler-chain" minOccurs="0" maxOccurs="unbounded" type="handlerChainType"/>
  74. <xs:element name="post-handler-chain" minOccurs="0" maxOccurs="unbounded" type="handlerChainType"/>
  75. <xs:element name="property" minOccurs="0" maxOccurs="unbounded" type="propertyType"/>
  76. </xs:sequence>
  77. <xs:attribute name="name" type="xs:NMTOKEN" use="required">
  78. <xs:annotation>
  79. <xs:documentation>
  80. Endpoint config name. Must be unique inside subsysten element.
  81. </xs:documentation>
  82. </xs:annotation>
  83. </xs:attribute>
  84. </xs:complexType>
  85. <xs:complexType name="clientConfigType">
  86. <xs:annotation>
  87. <xs:documentation>
  88. Client config can define unique properties that are visible only to clients using this config.
  89. It can also define PRE and POST handler chains associated with it.
  90. </xs:documentation>
  91. </xs:annotation>
  92. <xs:sequence>
  93. <xs:element name="pre-handler-chain" minOccurs="0" maxOccurs="unbounded" type="handlerChainType"/>
  94. <xs:element name="post-handler-chain" minOccurs="0" maxOccurs="unbounded" type="handlerChainType"/>
  95. <xs:element name="property" minOccurs="0" maxOccurs="unbounded" type="propertyType"/>
  96. </xs:sequence>
  97. <xs:attribute name="name" type="xs:NMTOKEN" use="required">
  98. <xs:annotation>
  99. <xs:documentation>
  100. Client config name. Must be unique inside subsysten element.
  101. </xs:documentation>
  102. </xs:annotation>
  103. </xs:attribute>
  104. </xs:complexType>
  105. <xs:complexType name="propertyType">
  106. <xs:annotation>
  107. <xs:documentation>
  108. Property that is private for endpoint config.
  109. </xs:documentation>
  110. </xs:annotation>
  111. <xs:attribute name="name" type="xs:NMTOKEN" use="required">
  112. <xs:annotation>
  113. <xs:documentation>
  114. Property name. Must be unique inside endpoint config.
  115. </xs:documentation>
  116. </xs:annotation>
  117. </xs:attribute>
  118. <xs:attribute name="value" type="xs:string" use="optional">
  119. <xs:annotation>
  120. <xs:documentation>
  121. Property value. May be omited.
  122. </xs:documentation>
  123. </xs:annotation>
  124. </xs:attribute>
  125. </xs:complexType>
  126. <xs:complexType name="handlerChainType">
  127. <xs:annotation>
  128. <xs:documentation>
  129. Handlerchain can be defined such that the handlers in the
  130. handlerchain operate on all endpoints or only for specified
  131. protocol-bindings.
  132. </xs:documentation>
  133. </xs:annotation>
  134. <xs:sequence>
  135. <xs:element name="handler" type="handlerType" minOccurs="1" maxOccurs="unbounded"/>
  136. </xs:sequence>
  137. <xs:attribute name="name" type="xs:NMTOKEN" use="required">
  138. <xs:annotation>
  139. <xs:documentation>
  140. Handler chain name. Must be unique for every endpoint/client config.
  141. </xs:documentation>
  142. </xs:annotation>
  143. </xs:attribute>
  144. <xs:attribute name="protocol-bindings" type="protocolBindingListType" use="optional">
  145. <xs:annotation>
  146. <xs:documentation>
  147. If protocol-bindings attribute on the handler chain element is omited
  148. then the handlers specified in the handler chain will be applied on
  149. every endpoint/client.
  150. </xs:documentation>
  151. </xs:annotation>
  152. </xs:attribute>
  153. </xs:complexType>
  154. <xs:complexType name="handlerType">
  155. <xs:annotation>
  156. <xs:documentation>
  157. Declares the handler for an endpoint or client.
  158. </xs:documentation>
  159. </xs:annotation>
  160. <xs:attribute name="name" type="xs:NMTOKEN" use="required">
  161. <xs:annotation>
  162. <xs:documentation>
  163. Defines the name of the JAX-WS handler. The name must be unique within the handler chain.
  164. </xs:documentation>
  165. </xs:annotation>
  166. </xs:attribute>
  167. <xs:attribute name="class" type="xs:token" use="required">
  168. <xs:annotation>
  169. <xs:documentation>
  170. Defines a fully qualified class name for the JAX-WS handler implementation.
  171. </xs:documentation>
  172. </xs:annotation>
  173. </xs:attribute>
  174. </xs:complexType>
  175. <xs:simpleType name="protocolBindingListType">
  176. <xs:annotation>
  177. <xs:documentation>
  178. Defines the type used for specifying a list of
  179. protocol-bindingType(s). For e.g.
  180. ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP
  181. </xs:documentation>
  182. </xs:annotation>
  183. <xs:list itemType="protocolBindingType"/>
  184. </xs:simpleType>
  185. <xs:simpleType name="protocolBindingType">
  186. <xs:annotation>
  187. <xs:documentation>
  188. Defines the type used for specifying the URI for the
  189. protocol binding used by the endpoint. For
  190. portability one could use one of the following tokens that
  191. alias the standard binding types:
  192. ##SOAP11_HTTP
  193. ##SOAP11_HTTP_MTOM
  194. ##SOAP12_HTTP
  195. ##SOAP12_HTTP_MTOM
  196. ##XML_HTTP
  197. Other specifications could define tokens that start with ##
  198. to alias new standard binding URIs that are introduced.
  199. </xs:documentation>
  200. </xs:annotation>
  201. <xs:union memberTypes="xs:anyURI protocolAliasType"/>
  202. </xs:simpleType>
  203. <xs:simpleType name="protocolAliasType">
  204. <xs:annotation>
  205. <xs:documentation>
  206. Defines the type that is used for specifying tokens that
  207. start with ## which are used to alias existing standard
  208. protocol bindings and support aliases for new standard
  209. binding URIs that are introduced in future specifications.
  210. The following tokens alias the standard protocol binding
  211. URIs:
  212. ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http"
  213. ##SOAP11_HTTP_MTOM =
  214. "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true"
  215. ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/"
  216. ##SOAP12_HTTP_MTOM =
  217. "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true"
  218. ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http"
  219. </xs:documentation>
  220. </xs:annotation>
  221. <xs:restriction base="xs:token">
  222. <xs:pattern value="##.+"/>
  223. </xs:restriction>
  224. </xs:simpleType>
  225. </xs:schema>