<!--
 ~ 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:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
                  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
                  xmlns:tns="http://service.tracer.carbon.wso2.org"
                  xmlns:ax2218="http://service.tracer.carbon.wso2.org/xsd"
                  xmlns:xs="http://www.w3.org/2001/XMLSchema"
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
                  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
                  targetNamespace="http://service.tracer.carbon.wso2.org">
    <wsdl:documentation>TracerAdmin</wsdl:documentation>
    <wsdl:types>
        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified"
                   targetNamespace="http://service.tracer.carbon.wso2.org/xsd">
            <xs:complexType name="TracerServiceInfo">
                <xs:sequence>
                    <xs:element minOccurs="0" name="empty" type="xs:boolean"/>
                    <xs:element minOccurs="0" name="filter" type="xs:boolean"/>
                    <xs:element minOccurs="0" name="filterString" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="flag" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="lastMessage" nillable="true"
                                type="ax2218:MessagePayload"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="messageInfo"
                                nillable="true" type="ax2218:MessageInfo"/>
                    <xs:element minOccurs="0" name="tracePersister" nillable="true"
                                type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="MessagePayload">
                <xs:sequence>
                    <xs:element minOccurs="0" name="request" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="response" nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="MessageInfo">
                <xs:sequence>
                    <xs:element minOccurs="0" name="messageSequence" type="xs:long"/>
                    <xs:element minOccurs="0" name="operationName" nillable="true"
                                type="xs:string"/>
                    <xs:element minOccurs="0" name="serviceId" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="timestamp" nillable="true" type="xs:dateTime"/>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
        <xs:schema xmlns:ax2219="http://service.tracer.carbon.wso2.org/xsd"
                   xmlns:ns="http://org.apache.axis2/xsd" attributeFormDefault="qualified"
                   elementFormDefault="qualified" targetNamespace="http://org.apache.axis2/xsd">
            <xs:import namespace="http://service.tracer.carbon.wso2.org/xsd"/>
            <xs:element name="setMonitoring">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="flag" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="setMonitoringResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true"
                                    type="ax2219:TracerServiceInfo"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getMessages">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="numberOfMessages" type="xs:int"/>
                        <xs:element minOccurs="0" name="filter" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getMessagesResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true"
                                    type="ax2219:TracerServiceInfo"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getMessage">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="serviceId" nillable="true"
                                    type="xs:string"/>
                        <xs:element minOccurs="0" name="operationName" nillable="true"
                                    type="xs:string"/>
                        <xs:element minOccurs="0" name="messageSequence" type="xs:long"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getMessageResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true"
                                    type="ax2219:MessagePayload"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="clearAllSoapMessages">
                <xs:complexType>
                    <xs:sequence/>
                </xs:complexType>
            </xs:element>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="getMessageRequest">
        <wsdl:part name="parameters" element="ns1:getMessage"/>
    </wsdl:message>
    <wsdl:message name="getMessageResponse">
        <wsdl:part name="parameters" element="ns1:getMessageResponse"/>
    </wsdl:message>
    <wsdl:message name="clearAllSoapMessagesRequest">
        <wsdl:part name="parameters" element="ns1:clearAllSoapMessages"/>
    </wsdl:message>
    <wsdl:message name="setMonitoringRequest">
        <wsdl:part name="parameters" element="ns1:setMonitoring"/>
    </wsdl:message>
    <wsdl:message name="setMonitoringResponse">
        <wsdl:part name="parameters" element="ns1:setMonitoringResponse"/>
    </wsdl:message>
    <wsdl:message name="getMessagesRequest">
        <wsdl:part name="parameters" element="ns1:getMessages"/>
    </wsdl:message>
    <wsdl:message name="getMessagesResponse">
        <wsdl:part name="parameters" element="ns1:getMessagesResponse"/>
    </wsdl:message>
    <wsdl:portType name="TracerAdminPortType">
        <wsdl:operation name="getMessage">
            <wsdl:input message="tns:getMessageRequest" wsaw:Action="urn:getMessage"/>
            <wsdl:output message="tns:getMessageResponse" wsaw:Action="urn:getMessageResponse"/>
        </wsdl:operation>
        <wsdl:operation name="clearAllSoapMessages">
            <wsdl:input message="tns:clearAllSoapMessagesRequest"
                        wsaw:Action="urn:clearAllSoapMessages"/>
        </wsdl:operation>
        <wsdl:operation name="setMonitoring">
            <wsdl:input message="tns:setMonitoringRequest" wsaw:Action="urn:setMonitoring"/>
            <wsdl:output message="tns:setMonitoringResponse"
                         wsaw:Action="urn:setMonitoringResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getMessages">
            <wsdl:input message="tns:getMessagesRequest" wsaw:Action="urn:getMessages"/>
            <wsdl:output message="tns:getMessagesResponse" wsaw:Action="urn:getMessagesResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="TracerAdminSoap11Binding" type="tns:TracerAdminPortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl:operation name="getMessage">
            <soap:operation soapAction="urn:getMessage" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="clearAllSoapMessages">
            <soap:operation soapAction="urn:clearAllSoapMessages" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
        </wsdl:operation>
        <wsdl:operation name="setMonitoring">
            <soap:operation soapAction="urn:setMonitoring" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getMessages">
            <soap:operation soapAction="urn:getMessages" 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="TracerAdminSoap12Binding" type="tns:TracerAdminPortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl:operation name="getMessage">
            <soap12:operation soapAction="urn:getMessage" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="clearAllSoapMessages">
            <soap12:operation soapAction="urn:clearAllSoapMessages" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
        </wsdl:operation>
        <wsdl:operation name="setMonitoring">
            <soap12:operation soapAction="urn:setMonitoring" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getMessages">
            <soap12:operation soapAction="urn:getMessages" 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="TracerAdminHttpBinding" type="tns:TracerAdminPortType">
        <http:binding verb="POST"/>
        <wsdl:operation name="getMessage">
            <http:operation location="getMessage"/>
            <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="clearAllSoapMessages">
            <http:operation location="clearAllSoapMessages"/>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"/>
            </wsdl:input>
        </wsdl:operation>
        <wsdl:operation name="setMonitoring">
            <http:operation location="setMonitoring"/>
            <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="getMessages">
            <http:operation location="getMessages"/>
            <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="TracerAdmin">
        <wsdl:port name="TracerAdminHttpsSoap11Endpoint" binding="tns:TracerAdminSoap11Binding">
            <soap:address
                    location="https://192.168.22.1:9443/services/TracerAdmin.TracerAdminHttpsSoap11Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="TracerAdminHttpsSoap12Endpoint" binding="tns:TracerAdminSoap12Binding">
            <soap12:address
                    location="https://192.168.22.1:9443/services/TracerAdmin.TracerAdminHttpsSoap12Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="TracerAdminHttpsEndpoint" binding="tns:TracerAdminHttpBinding">
            <http:address
                    location="https://192.168.22.1:9443/services/TracerAdmin.TracerAdminHttpsEndpoint/"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>