346 lines
12 KiB
XML
346 lines
12 KiB
XML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!--
|
||
|
~ Copyright The WildFly Authors
|
||
|
~ SPDX-License-Identifier: Apache-2.0
|
||
|
-->
|
||
|
|
||
|
<xs:schema
|
||
|
targetNamespace="urn:jboss:domain:webservices:2.0"
|
||
|
xmlns="urn:jboss:domain:webservices:2.0"
|
||
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||
|
elementFormDefault="qualified"
|
||
|
attributeFormDefault="unqualified"
|
||
|
version="2.0">
|
||
|
|
||
|
<xs:element name="subsystem" type="webservicesSubsystemType" />
|
||
|
|
||
|
<xs:complexType name="webservicesSubsystemType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation><![CDATA[
|
||
|
|
||
|
The WSDL, a required deployment artifact for an endpoint, has a <soap:address>
|
||
|
element which points to the location of the endpoint. JBossWS supports the rewriting
|
||
|
of that SOAP address using the attribute values of wsdl-host and wsdl-port or
|
||
|
wsdl-secure-port.
|
||
|
|
||
|
The webservices subsystem supports the pre-definition of endpoint configurations can
|
||
|
be used for JAX-WS client and JAX-WS endpoint implementations, elements client-config and
|
||
|
endpoint-config respectively. These configurations can include JAX-WS handlers and key/value
|
||
|
properties declarations that control JBossWS and Apache CXF internals.
|
||
|
|
||
|
]]></xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element name="modify-wsdl-address" type="xs:boolean" minOccurs="0" maxOccurs="1">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation><![CDATA[
|
||
|
|
||
|
When modify-wsdl-address is set to true and the content of <soap:address> is a valid URL,
|
||
|
JBossWS will rewrite the URL using the values of wsdl-host and wsdl-port or wsdl-secure-port.
|
||
|
|
||
|
When modify-wsdl-address is set to false and the content of <soap:address> is a valid URL,
|
||
|
JBossWS will not rewrite the URL. The <soap:address> URL will be used.
|
||
|
|
||
|
When the content of <soap:address> is not a valid URL, JBossWS will rewrite it no matter
|
||
|
what the setting of modify-wsdl-address.
|
||
|
|
||
|
If modify-wsdl-address is set to true and wsdl-host is not defined or explicitly set to 'jbossws.undefined.host'
|
||
|
the content of <soap:address> URL is use. JBossWS uses the requester's host when rewriting the <soap:address>
|
||
|
|
||
|
When modify-wsdl-address is not defined JBossWS uses a default value of true.
|
||
|
|
||
|
]]></xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
<xs:element name="wsdl-host" type="xs:string" minOccurs="0" maxOccurs="1">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation><![CDATA[
|
||
|
|
||
|
This property explicitly defines the host name or the host's IP address
|
||
|
that will be used in the <soap:address> URL rewrite.
|
||
|
|
||
|
When wsdl-host is not defined JBossWS uses a value of 'jbossws.undefined.host'.
|
||
|
|
||
|
If wsdl-host is not defined or explicitly set to 'jbossws.undefined.host' and
|
||
|
modify-wsdl-address is set to true, the content of <soap:address> URL is use.
|
||
|
JBossWS uses requester's host when rewriting the <soap:address>
|
||
|
|
||
|
]]></xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
<xs:element name="wsdl-port" type="xs:int" minOccurs="0" maxOccurs="1">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Set this property to explicitly define the HTTP port that will be used for rewriting the SOAP address.
|
||
|
Otherwise the HTTP port will be identified by querying the list of installed HTTP connectors.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
<xs:element name="wsdl-secure-port" type="xs:int" minOccurs="0" maxOccurs="1">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Set this property to explicitly define the HTTPS port that will be used for rewriting the SOAP address.
|
||
|
Otherwise the HTTPS port will be identified by querying the list of installed HTTPS connectors.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
<xs:element name="wsdl-uri-scheme" type="uriSchemeType" minOccurs="0" maxOccurs="1">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation><![CDATA[
|
||
|
|
||
|
This property explicitly sets the URI scheme to use for rewriting <soap:address>. Valid values are 'http' and 'https'.
|
||
|
This configuration overrides scheme computed by processing the endpoint (even if a transport guarantee is specified).
|
||
|
The provided values for 'wsdl-port' and 'wsdl-secure-port' (or their default values) are used depending on specified scheme.
|
||
|
|
||
|
]]></xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
<xs:element name="wsdl-path-rewrite-rule" type="xs:string" minOccurs="0" maxOccurs="1">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation><![CDATA[
|
||
|
|
||
|
This property defines a SED substitution command (e.g., 's/regexp/replacement/g')
|
||
|
that JBossWS executes against the path component of each <soap:address> URL published
|
||
|
from the server.
|
||
|
|
||
|
When wsdl-path-rewrite-rule is not defined, JBossWS retains the original path component
|
||
|
of each <soap:address> URL.
|
||
|
|
||
|
When 'modify-wsdl-address' is set to "false" this element is ignored.
|
||
|
|
||
|
]]></xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:element>
|
||
|
<xs:element name="endpoint-config" type="endpointConfigType" minOccurs="0" maxOccurs="unbounded"/>
|
||
|
<xs:element name="client-config" type="clientConfigType" minOccurs="0" maxOccurs="unbounded"/>
|
||
|
</xs:sequence>
|
||
|
<xs:attribute name="statistics-enabled" type="xs:boolean" default="false">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>Whether statistics are to be gathered</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
<xs:simpleType name="uriSchemeType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
The enumeration type to define the wsdl uri scheme, it can be http or https
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:restriction base="xs:string">
|
||
|
<xs:enumeration value="http"/>
|
||
|
<xs:enumeration value="https"/>
|
||
|
</xs:restriction>
|
||
|
</xs:simpleType>
|
||
|
<xs:complexType name="endpointConfigType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Endpoint config can define unique properties that are visible only to endpoints using this config.
|
||
|
It can also define PRE and POST handler chains associated with it.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element name="pre-handler-chain" minOccurs="0" maxOccurs="unbounded" type="handlerChainType"/>
|
||
|
<xs:element name="post-handler-chain" minOccurs="0" maxOccurs="unbounded" type="handlerChainType"/>
|
||
|
<xs:element name="property" minOccurs="0" maxOccurs="unbounded" type="propertyType"/>
|
||
|
</xs:sequence>
|
||
|
<xs:attribute name="name" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Endpoint config name. Must be unique inside subsystem element.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
<xs:complexType name="clientConfigType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Client config can define unique properties that are visible only to clients using this config.
|
||
|
It can also define PRE and POST handler chains associated with it.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element name="pre-handler-chain" minOccurs="0" maxOccurs="unbounded" type="handlerChainType"/>
|
||
|
<xs:element name="post-handler-chain" minOccurs="0" maxOccurs="unbounded" type="handlerChainType"/>
|
||
|
<xs:element name="property" minOccurs="0" maxOccurs="unbounded" type="propertyType"/>
|
||
|
</xs:sequence>
|
||
|
<xs:attribute name="name" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Client config name. Must be unique inside subsystem element.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
<xs:complexType name="propertyType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Property that is private for endpoint config.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:attribute name="name" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Property name. Must be unique inside endpoint config.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="value" type="xs:string" use="optional">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Property value. May be omitted.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
<xs:complexType name="handlerChainType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Handlerchain can be defined such that the handlers in the
|
||
|
handlerchain operate on all endpoints or only for specified
|
||
|
protocol-bindings.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:sequence>
|
||
|
<xs:element name="handler" type="handlerType" minOccurs="1" maxOccurs="unbounded"/>
|
||
|
</xs:sequence>
|
||
|
<xs:attribute name="name" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Handler chain name. Must be unique for every endpoint/client config.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="protocol-bindings" type="protocolBindingListType" use="optional">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
If protocol-bindings attribute on the handler chain element is omitted
|
||
|
then the handlers specified in the handler chain will be applied on
|
||
|
every endpoint/client.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
<xs:complexType name="handlerType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Declares the handler for an endpoint or client.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:attribute name="name" type="xs:NMTOKEN" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Defines the name of the JAX-WS handler. The name must be unique within the handler chain.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
<xs:attribute name="class" type="xs:token" use="required">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Defines a fully qualified class name for the JAX-WS handler implementation.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
</xs:attribute>
|
||
|
</xs:complexType>
|
||
|
|
||
|
<xs:simpleType name="protocolBindingListType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Defines the type used for specifying a list of
|
||
|
protocol-bindingType(s). For e.g.
|
||
|
|
||
|
##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:list itemType="protocolBindingType"/>
|
||
|
</xs:simpleType>
|
||
|
|
||
|
<xs:simpleType name="protocolBindingType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Defines the type used for specifying the URI for the
|
||
|
protocol binding used by the endpoint. For
|
||
|
portability one could use one of the following tokens that
|
||
|
alias the standard binding types:
|
||
|
|
||
|
##SOAP11_HTTP
|
||
|
##SOAP11_HTTP_MTOM
|
||
|
##SOAP12_HTTP
|
||
|
##SOAP12_HTTP_MTOM
|
||
|
##XML_HTTP
|
||
|
|
||
|
Other specifications could define tokens that start with ##
|
||
|
to alias new standard binding URIs that are introduced.
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:union memberTypes="xs:anyURI protocolAliasType"/>
|
||
|
</xs:simpleType>
|
||
|
|
||
|
<xs:simpleType name="protocolAliasType">
|
||
|
<xs:annotation>
|
||
|
<xs:documentation>
|
||
|
|
||
|
Defines the type that is used for specifying tokens that
|
||
|
start with ## which are used to alias existing standard
|
||
|
protocol bindings and support aliases for new standard
|
||
|
binding URIs that are introduced in future specifications.
|
||
|
|
||
|
The following tokens alias the standard protocol binding
|
||
|
URIs:
|
||
|
|
||
|
##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http"
|
||
|
##SOAP11_HTTP_MTOM =
|
||
|
"http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true"
|
||
|
##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/"
|
||
|
##SOAP12_HTTP_MTOM =
|
||
|
"http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true"
|
||
|
##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http"
|
||
|
|
||
|
</xs:documentation>
|
||
|
</xs:annotation>
|
||
|
<xs:restriction base="xs:token">
|
||
|
<xs:pattern value="##.+"/>
|
||
|
</xs:restriction>
|
||
|
</xs:simpleType>
|
||
|
|
||
|
</xs:schema>
|