<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:ax215="http://core.event.carbon.wso2.org/xsd"
                  xmlns:ns1="http://org.apache.axis2/xsd"
                  xmlns:ns="http://internal.admin.event.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:mime="http://schemas.xmlsoap.org/wsdl/mime/"
                  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
                  targetNamespace="http://internal.admin.event.carbon.wso2.org">
    <wsdl:documentation>BrokerSecurityManager</wsdl:documentation>
    <wsdl:types>
        <xs:schema xmlns:ax216="http://core.event.carbon.wso2.org/xsd"
                   attributeFormDefault="qualified" elementFormDefault="qualified"
                   targetNamespace="http://internal.admin.event.carbon.wso2.org">
            <xs:import namespace="http://core.event.carbon.wso2.org/xsd"/>
            <xs:element name="updateTopic">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="topicDetails" nillable="true"
                                    type="ax215:TopicDetails"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="shareATopic">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="topicName" nillable="true"
                                    type="xs:string"/>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="accessibleUsers"
                                    nillable="true" type="xs:string"/>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="acessibleRoles"
                                    nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="shareATopicResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="revokeATopic">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="topicName" nillable="true"
                                    type="xs:string"/>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="accessibleUsers"
                                    nillable="true" type="xs:string"/>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="acessibleRoles"
                                    nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="revokeATopicResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getTopicDetails">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="topicName" nillable="true"
                                    type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getTopicDetailsResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true"
                                    type="ax215:TopicDetails"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getAllTopicsResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true"
                                    type="ax215:TopicNode"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="deleteSecureTopic">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="topicName" nillable="true"
                                    type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="deleteSecureTopicResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="defineSecureTopic">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="topicName" nillable="true"
                                    type="xs:string"/>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="accessibleUsers"
                                    nillable="true" type="xs:string"/>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="acessibleRoles"
                                    nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="defineSecureTopicResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified"
                   targetNamespace="http://core.event.carbon.wso2.org/xsd">
            <xs:complexType name="TopicDetails">
                <xs:sequence>
                    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="owner" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="schemaDescription" nillable="true"
                                type="xs:string"/>
                    <xs:element minOccurs="0" name="secureTopic" type="xs:boolean"/>
                    <xs:element minOccurs="0" name="topicName" nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="TopicNode">
                <xs:sequence>
                    <xs:element minOccurs="0" name="topic" nillable="true" type="ax215:Topic"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="topicNodes"
                                nillable="true" type="ax215:TopicNode"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="Topic">
                <xs:sequence>
                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="secureTopic" type="xs:boolean"/>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="updateTopicRequest">
        <wsdl:part name="parameters" element="ns:updateTopic"/>
    </wsdl:message>
    <wsdl:message name="deleteSecureTopicRequest">
        <wsdl:part name="parameters" element="ns:deleteSecureTopic"/>
    </wsdl:message>
    <wsdl:message name="deleteSecureTopicResponse">
        <wsdl:part name="parameters" element="ns:deleteSecureTopicResponse"/>
    </wsdl:message>
    <wsdl:message name="getAllTopicsRequest"/>
    <wsdl:message name="getAllTopicsResponse">
        <wsdl:part name="parameters" element="ns:getAllTopicsResponse"/>
    </wsdl:message>
    <wsdl:message name="getTopicDetailsRequest">
        <wsdl:part name="parameters" element="ns:getTopicDetails"/>
    </wsdl:message>
    <wsdl:message name="getTopicDetailsResponse">
        <wsdl:part name="parameters" element="ns:getTopicDetailsResponse"/>
    </wsdl:message>
    <wsdl:message name="shareATopicRequest">
        <wsdl:part name="parameters" element="ns:shareATopic"/>
    </wsdl:message>
    <wsdl:message name="shareATopicResponse">
        <wsdl:part name="parameters" element="ns:shareATopicResponse"/>
    </wsdl:message>
    <wsdl:message name="revokeATopicRequest">
        <wsdl:part name="parameters" element="ns:revokeATopic"/>
    </wsdl:message>
    <wsdl:message name="revokeATopicResponse">
        <wsdl:part name="parameters" element="ns:revokeATopicResponse"/>
    </wsdl:message>
    <wsdl:message name="defineSecureTopicRequest">
        <wsdl:part name="parameters" element="ns:defineSecureTopic"/>
    </wsdl:message>
    <wsdl:message name="defineSecureTopicResponse">
        <wsdl:part name="parameters" element="ns:defineSecureTopicResponse"/>
    </wsdl:message>
    <wsdl:portType name="BrokerSecurityManagerPortType">
        <wsdl:operation name="updateTopic">
            <wsdl:input message="ns:updateTopicRequest" wsaw:Action="urn:updateTopic"/>
        </wsdl:operation>
        <wsdl:operation name="deleteSecureTopic">
            <wsdl:input message="ns:deleteSecureTopicRequest" wsaw:Action="urn:deleteSecureTopic"/>
            <wsdl:output message="ns:deleteSecureTopicResponse"
                         wsaw:Action="urn:deleteSecureTopicResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getAllTopics">
            <wsdl:input message="ns:getAllTopicsRequest" wsaw:Action="urn:getAllTopics"/>
            <wsdl:output message="ns:getAllTopicsResponse" wsaw:Action="urn:getAllTopicsResponse"/>
        </wsdl:operation>
        <wsdl:operation name="getTopicDetails">
            <wsdl:input message="ns:getTopicDetailsRequest" wsaw:Action="urn:getTopicDetails"/>
            <wsdl:output message="ns:getTopicDetailsResponse"
                         wsaw:Action="urn:getTopicDetailsResponse"/>
        </wsdl:operation>
        <wsdl:operation name="shareATopic">
            <wsdl:input message="ns:shareATopicRequest" wsaw:Action="urn:shareATopic"/>
            <wsdl:output message="ns:shareATopicResponse" wsaw:Action="urn:shareATopicResponse"/>
        </wsdl:operation>
        <wsdl:operation name="revokeATopic">
            <wsdl:input message="ns:revokeATopicRequest" wsaw:Action="urn:revokeATopic"/>
            <wsdl:output message="ns:revokeATopicResponse" wsaw:Action="urn:revokeATopicResponse"/>
        </wsdl:operation>
        <wsdl:operation name="defineSecureTopic">
            <wsdl:input message="ns:defineSecureTopicRequest" wsaw:Action="urn:defineSecureTopic"/>
            <wsdl:output message="ns:defineSecureTopicResponse"
                         wsaw:Action="urn:defineSecureTopicResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="BrokerSecurityManagerSoap11Binding" type="ns:BrokerSecurityManagerPortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl:operation name="updateTopic">
            <soap:operation soapAction="urn:updateTopic" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
        </wsdl:operation>
        <wsdl:operation name="getAllTopics">
            <soap:operation soapAction="urn:getAllTopics" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="deleteSecureTopic">
            <soap:operation soapAction="urn:deleteSecureTopic" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="shareATopic">
            <soap:operation soapAction="urn:shareATopic" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getTopicDetails">
            <soap:operation soapAction="urn:getTopicDetails" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="revokeATopic">
            <soap:operation soapAction="urn:revokeATopic" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="defineSecureTopic">
            <soap:operation soapAction="urn:defineSecureTopic" 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="BrokerSecurityManagerSoap12Binding" type="ns:BrokerSecurityManagerPortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl:operation name="updateTopic">
            <soap12:operation soapAction="urn:updateTopic" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
        </wsdl:operation>
        <wsdl:operation name="getAllTopics">
            <soap12:operation soapAction="urn:getAllTopics" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="deleteSecureTopic">
            <soap12:operation soapAction="urn:deleteSecureTopic" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="shareATopic">
            <soap12:operation soapAction="urn:shareATopic" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getTopicDetails">
            <soap12:operation soapAction="urn:getTopicDetails" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="revokeATopic">
            <soap12:operation soapAction="urn:revokeATopic" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="defineSecureTopic">
            <soap12:operation soapAction="urn:defineSecureTopic" 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="BrokerSecurityManagerHttpBinding" type="ns:BrokerSecurityManagerPortType">
        <http:binding verb="POST"/>
        <wsdl:operation name="updateTopic">
            <http:operation location="updateTopic"/>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"/>
            </wsdl:input>
        </wsdl:operation>
        <wsdl:operation name="getAllTopics">
            <http:operation location="getAllTopics"/>
            <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="deleteSecureTopic">
            <http:operation location="deleteSecureTopic"/>
            <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="shareATopic">
            <http:operation location="shareATopic"/>
            <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="getTopicDetails">
            <http:operation location="getTopicDetails"/>
            <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="revokeATopic">
            <http:operation location="revokeATopic"/>
            <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="defineSecureTopic">
            <http:operation location="defineSecureTopic"/>
            <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="BrokerSecurityManager">
        <wsdl:port name="BrokerSecurityManagerHttpsSoap11Endpoint"
                   binding="ns:BrokerSecurityManagerSoap11Binding">
            <soap:address
                    location="https://111.223.142.121:9443/services/BrokerSecurityManager.BrokerSecurityManagerHttpsSoap11Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="BrokerSecurityManagerHttpsSoap12Endpoint"
                   binding="ns:BrokerSecurityManagerSoap12Binding">
            <soap12:address
                    location="https://111.223.142.121:9443/services/BrokerSecurityManager.BrokerSecurityManagerHttpsSoap12Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="BrokerSecurityManagerHttpsEndpoint"
                   binding="ns:BrokerSecurityManagerHttpBinding">
            <http:address
                    location="https://111.223.142.121:9443/services/BrokerSecurityManager.BrokerSecurityManagerHttpsEndpoint/"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>