<!--
 ~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 ~
 ~ WSO2 Inc. 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.
 -->

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:ns1="http://org.apache.axis2/xsd"
                  xmlns:ns="http://service.viewflows.carbon.wso2.org"
                  xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
                  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
                  xmlns:xs="http://www.w3.org/2001/XMLSchema"
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                  xmlns:ax2229="http://viewflows.carbon.wso2.org/xsd"
                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
                  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
                  targetNamespace="http://service.viewflows.carbon.wso2.org">
    <wsdl:documentation>FlowsAdminService</wsdl:documentation>
    <wsdl:types>
        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified"
                   targetNamespace="http://viewflows.carbon.wso2.org/xsd">
            <xs:complexType name="AxisConfigData">
                <xs:sequence>
                    <xs:element minOccurs="0" name="infaultflowPhaseOrder" nillable="true"
                                type="ax2229:PhaseOrderData"/>
                    <xs:element minOccurs="0" name="inflowPhaseOrder" nillable="true"
                                type="ax2229:PhaseOrderData"/>
                    <xs:element minOccurs="0" name="outfaultPhaseOrder" nillable="true"
                                type="ax2229:PhaseOrderData"/>
                    <xs:element minOccurs="0" name="outflowPhaseOrder" nillable="true"
                                type="ax2229:PhaseOrderData"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="PhaseOrderData">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="phases" nillable="true"
                                type="ax2229:PhaseData"/>
                    <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="PhaseData">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="handlers" nillable="true"
                                type="ax2229:HandlerData"/>
                    <xs:element minOccurs="0" name="isGlobalPhase" type="xs:boolean"/>
                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="HandlerData">
                <xs:sequence>
                    <xs:element minOccurs="0" name="className" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="phaseLast" type="xs:boolean"/>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
        <xs:schema xmlns:ax2230="http://viewflows.carbon.wso2.org/xsd"
                   attributeFormDefault="qualified" elementFormDefault="qualified"
                   targetNamespace="http://service.viewflows.carbon.wso2.org">
            <xs:import namespace="http://viewflows.carbon.wso2.org/xsd"/>
            <xs:element name="getOperationAxisConfigData">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="serviceId" nillable="true"
                                    type="xs:string"/>
                        <xs:element minOccurs="0" name="operationId" nillable="true"
                                    type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getOperationAxisConfigDataResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true"
                                    type="ax2230:AxisConfigData"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getHandlerNamesForPhase">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="flow" nillable="true" type="xs:string"/>
                        <xs:element minOccurs="0" name="phase" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getHandlerNamesForPhaseResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:anyType"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getAxisConfigData">
                <xs:complexType>
                    <xs:sequence/>
                </xs:complexType>
            </xs:element>
            <xs:element name="getAxisConfigDataResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true"
                                    type="ax2230:AxisConfigData"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="getHandlerNamesForPhaseRequest">
        <wsdl:part name="parameters" element="ns:getHandlerNamesForPhase"/>
    </wsdl:message>
    <wsdl:message name="getHandlerNamesForPhaseResponse">
        <wsdl:part name="parameters" element="ns:getHandlerNamesForPhaseResponse"/>
    </wsdl:message>
    <wsdl:message name="getOperationAxisConfigDataRequest">
        <wsdl:part name="parameters" element="ns:getOperationAxisConfigData"/>
    </wsdl:message>
    <wsdl:message name="getOperationAxisConfigDataResponse">
        <wsdl:part name="parameters" element="ns:getOperationAxisConfigDataResponse"/>
    </wsdl:message>
    <wsdl:message name="getAxisConfigDataRequest">
        <wsdl:part name="parameters" element="ns:getAxisConfigData"/>
    </wsdl:message>
    <wsdl:message name="getAxisConfigDataResponse">
        <wsdl:part name="parameters" element="ns:getAxisConfigDataResponse"/>
    </wsdl:message>
    <wsdl:portType name="FlowsAdminServicePortType">
        <wsdl:operation name="getHandlerNamesForPhase">
            <wsdl:input message="ns:getHandlerNamesForPhaseRequest"
                        wsaw:Action="urn:getHandlerNamesForPhase"/>
            <wsdl:output message="ns:getHandlerNamesForPhaseResponse"
                         wsaw:Action="urn:getHandlerNamesForPhaseResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getOperationAxisConfigData">
            <wsdl:input message="ns:getOperationAxisConfigDataRequest"
                        wsaw:Action="urn:getOperationAxisConfigData"/>
            <wsdl:output message="ns:getOperationAxisConfigDataResponse"
                         wsaw:Action="urn:getOperationAxisConfigDataResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getAxisConfigData">
            <wsdl:input message="ns:getAxisConfigDataRequest" wsaw:Action="urn:getAxisConfigData"/>
            <wsdl:output message="ns:getAxisConfigDataResponse"
                         wsaw:Action="urn:getAxisConfigDataResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="FlowsAdminServiceSoap11Binding" type="ns:FlowsAdminServicePortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl:operation name="getHandlerNamesForPhase">
            <soap:operation soapAction="urn:getHandlerNamesForPhase" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getOperationAxisConfigData">
            <soap:operation soapAction="urn:getOperationAxisConfigData" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getAxisConfigData">
            <soap:operation soapAction="urn:getAxisConfigData" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="FlowsAdminServiceSoap12Binding" type="ns:FlowsAdminServicePortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl:operation name="getHandlerNamesForPhase">
            <soap12:operation soapAction="urn:getHandlerNamesForPhase" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getOperationAxisConfigData">
            <soap12:operation soapAction="urn:getOperationAxisConfigData" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getAxisConfigData">
            <soap12:operation soapAction="urn:getAxisConfigData" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="FlowsAdminServiceHttpBinding" type="ns:FlowsAdminServicePortType">
        <http:binding verb="POST"/>
        <wsdl:operation name="getHandlerNamesForPhase">
            <http:operation location="getHandlerNamesForPhase"/>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="parameters"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getOperationAxisConfigData">
            <http:operation location="getOperationAxisConfigData"/>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="parameters"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getAxisConfigData">
            <http:operation location="getAxisConfigData"/>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="parameters"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="FlowsAdminService">
        <wsdl:port name="FlowsAdminServiceHttpsSoap11Endpoint"
                   binding="ns:FlowsAdminServiceSoap11Binding">
            <soap:address
                    location="https://10.215.140.32:9443/services/FlowsAdminService.FlowsAdminServiceHttpsSoap11Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="FlowsAdminServiceHttpsSoap12Endpoint"
                   binding="ns:FlowsAdminServiceSoap12Binding">
            <soap12:address
                    location="https://10.215.140.32:9443/services/FlowsAdminService.FlowsAdminServiceHttpsSoap12Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="FlowsAdminServiceHttpsEndpoint" binding="ns:FlowsAdminServiceHttpBinding">
            <http:address
                    location="https://10.215.140.32:9443/services/FlowsAdminService.FlowsAdminServiceHttpsEndpoint/"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>