blob: 0812945a5e2624b95735395ef7598e8afca5465e [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ 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" elementFormDefault="qualified"
targetNamespace="http://ws.apache.org/ns/synapse"
xmlns="http://ws.apache.org/ns/synapse">
<xs:include schemaLocation="misc/target.xsd"/>
<xs:include schemaLocation="misc/common.xsd"/>
<xs:element name="proxy" type="Proxy">
<xs:annotation>
<xs:documentation source="description">
Proxy Service element in the Synapse Configuration
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="Proxy">
<xs:annotation>
<xs:documentation source="description">
This is the element type representing the proxy services
in the Synapse Configuration
</xs:documentation>
</xs:annotation>
<xs:choice maxOccurs="unbounded">
<xs:element name="target" type="ProxyTarget" minOccurs="1" maxOccurs="1"/>
<xs:element name="publishWSDL" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation source="description">
This is used to specify the WSDL of the proxy
</xs:documentation>
</xs:annotation>
<xs:complexType>
<!-- TODO : this needs to be altered in the configuration to support correctly -->
<xs:sequence>
<xs:group ref="inlineWsdl" minOccurs="0" maxOccurs="1"/>
<xs:element ref="resource" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="uri" type="xs:anyURI" use="optional"/>
<xs:attribute name="key" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="enableAddressing" minOccurs="0" maxOccurs="1"/>
<xs:element name="enableSec" minOccurs="0" maxOccurs="1"/>
<xs:element name="enableRM" minOccurs="0" maxOccurs="1"/>
<xs:element name="policy" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="key" type="xs:string" use="required"/>
<xs:attribute name="type" use="optional">
<xs:simpleType>
<xs:restriction>
<xs:enumeration value="in"/>
<xs:enumeration value="out"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="monitoringAspect"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="transports" type="xs:string" use="optional"/>
<xs:attribute name="pinnedServers" type="xs:string" use="optional"/>
<xs:attribute name="startOnLoad" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:schema>