<!--
Copyright © 2008 Bluestem Software LLC
All Rights Reserved. Bluestem Software LLC licenses this file
to you under the Ext EOA Specification License Agreement [1]. You
may not use this file except in compliance with the License. You
may obtain a copy of the License at:
[1] http://alakai.org/licensing/specification-eoa-ext-license.html
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<?xml version='1.0' encoding="UTF-8"?>
<!--
Copyright 2008 Bluestem Software LLC
All Rights Reserved. Bluestem Software LLC licenses this file
to you under the Ext EOA Specification License Agreement [1]. You
may not use this file except in compliance with the License. You
may obtain a copy of the License at:
[1] http://alakai.org/licensing/specification-eoa-ext-license.html
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://bluestemsoftware.org/specification/eoa/ext/binding/http/default/1.0" xmlns:tns="http://bluestemsoftware.org/specification/eoa/ext/binding/http/default/1.0" elementFormDefault="qualified">
<xs:element name="binding">
<xs:complexType>
<xs:all>
<xs:element name="configuration" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element name="faults" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="fault" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="httpHeaders" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="httpHeader" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Defines value for http header which MUST be declared on corresponding fault within corresponding binding declaration and which SHOULD be compliant with header declaration type. If message represents a response from "my" service and abstract header declaration indicates header is required, a value MUST be specified.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="name" type="xs:NCName" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:QName" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="operations" minOccurs=" 0">
<xs:complexType>
<xs:sequence>
<xs:element name="operation" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="requestorTimeout" minOccurs="0" type="xs:int">
<xs:annotation>
<xs:documentation>Defines amount of time before a blocking request times out, i.e if partner requires an anonymous response, specifies the amount of time binding provider will block for a response from engine before throwing a fault. Note that if MEP is robust-in-only, this value should be as short as possible, i.e. to avoid situation where provider blocks for a fault response from engine that may never be returned. Note also that the term 'requestor' is a metaphor, it does not imply that JMS must be used by underlying provider.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="input" minOccurs="0">
<xs:annotation>
<xs:documentation>Defines message specific configuration for input message.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="httpHeaders" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="httpHeader" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Defines value for http header which MUST be declared on corresponding message reference defined on corresponding operation within corresponding binding declaration and which SHOULD be compliant with header declaration type. If message represents a request for a "partner" service and abstract header declaration indicates header is required, a value MUST be specified.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="name" type="xs:NCName" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="output" minOccurs="0">
<xs:annotation>
<xs:documentation>Defines message specific configuration for output message. MEP used by parent operation defined on corresponding binding MUST be in-out.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="httpHeaders" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="httpHeader" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Defines value for http header which MUST be declared on corresponding message reference defined on corresponding operation within corresponding binding declaration and which SHOULD be compliant with header declaration type. If message represents a response from "my" service and abstract header declaration indicates header is required, a value MUST be specified.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="name" type="xs:NCName" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:QName" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="dataSourceConnector" minOccurs="0" type="xs:NCName">
<xs:annotation>
<xs:documentation>Defines DataSourceConnector name which MAY be required by binding provider to implement message and/or header persistence. If element is undefined, the connector 'SystemDataSource' is implied.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="embedStackTraceInFaults" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>If an unexpected throwable is caught, defines whether or not binding should embed stack trace within fault detail element of System fault returned to sender.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="maxPayloadProcessors" minOccurs="0" type="xs:int">
<xs:annotation>
<xs:documentation>Defines maximum number of concurrent 'processors' which process message payload, i.e. which process action by binding it according to wsdl description and then passing to engine.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="name" use="required" type="xs:QName" />
</xs:complexType>
</xs:element>
</xs:schema>