<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:tns="http://www.urlclassifier.com/services/Classifier/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="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://www.urlclassifier.com/services/Classifier/">
    <wsdl:documentation>Classifier</wsdl:documentation>
    <wsdl:types>
        <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.urlclassifier.com/services/Classifier/">
            <xsd:element name="classifyContent">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="in" type="xsd:string"/>
                        <xsd:element name="appID" type="xsd:string"/>
                        <xsd:element minOccurs="0" name="segmentID" type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="classifyContentResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element maxOccurs="unbounded" minOccurs="0" name="res" type="tns:CategoryResult"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="classifyURL">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="url" type="xsd:string"/>
                        <xsd:element name="appID" type="xsd:string"/>
                        <xsd:element minOccurs="0" name="segmentID" type="xsd:string"/>
                        <xsd:element minOccurs="0" name="onlineMode" type="xsd:boolean"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="classifyURLResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element maxOccurs="unbounded" minOccurs="0" name="categoryResult" type="tns:CategoryResult"/>
                        <xsd:element maxOccurs="unbounded" minOccurs="0" name="keywords" type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:complexType name="CategoryResult">
                <xsd:sequence>
                    <xsd:element name="name" type="xsd:string"/>
                    <xsd:element name="score" type="xsd:double"/>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:element name="classifyURL_fault">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="classifyURL_fault" type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="classifyContent_fault">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="classifyContent_fault" type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="getTokenStatus">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="appID" type="xsd:string"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="getTokenStatusResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="totalUsed" type="xsd:long"/>
                        <xsd:element name="totalUsedSincePayment" type="xsd:long"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:schema>
    </wsdl:types>
    <wsdl:message name="getTokenStatusRequest">
        <wsdl:part name="parameters" element="tns:getTokenStatus"/>
    </wsdl:message>
    <wsdl:message name="getTokenStatusResponse">
        <wsdl:part name="parameters" element="tns:getTokenStatusResponse"/>
    </wsdl:message>
    <wsdl:message name="classifyContentRequest">
        <wsdl:part name="parameters" element="tns:classifyContent"/>
    </wsdl:message>
    <wsdl:message name="classifyContentResponse">
        <wsdl:part name="parameters" element="tns:classifyContentResponse"/>
    </wsdl:message>
    <wsdl:message name="classifyContent_faultMsg">
        <wsdl:part name="parameters" element="tns:classifyContent_fault"/>
    </wsdl:message>
    <wsdl:message name="classifyURLRequest">
        <wsdl:part name="parameters" element="tns:classifyURL"/>
    </wsdl:message>
    <wsdl:message name="classifyURLResponse">
        <wsdl:part name="parameters" element="tns:classifyURLResponse"/>
    </wsdl:message>
    <wsdl:message name="classifyURL_faultMsg">
        <wsdl:part name="parameters" element="tns:classifyURL_fault"/>
    </wsdl:message>
    <wsdl:portType name="ClassifierPortType">
        <wsdl:operation name="getTokenStatus">
            <wsdl:input message="tns:getTokenStatusRequest" wsaw:Action="http://www.urlclassifier.com/services/Classifier/getTokenStatus"/>
            <wsdl:output message="tns:getTokenStatusResponse" wsaw:Action="http://www.urlclassifier.com/services/Classifier/Classifier/getTokenStatusResponse"/>
        </wsdl:operation>
        <wsdl:operation name="classifyContent">
            <wsdl:input message="tns:classifyContentRequest" wsaw:Action="http://www.urlclassifier.com/services/Classifier/classifyContent"/>
            <wsdl:output message="tns:classifyContentResponse" wsaw:Action="http://www.urlclassifier.com/services/Classifier/Classifier/classifyContentResponse"/>
            <wsdl:fault message="tns:classifyContent_faultMsg" name="classifyContent_faultMsg" wsaw:Action="urn:classifyContentclassifyContent_faultMsg"/>
        </wsdl:operation>
        <wsdl:operation name="classifyURL">
            <wsdl:input message="tns:classifyURLRequest" wsaw:Action="http://www.urlclassifier.com/services/Classifier/classifyURL"/>
            <wsdl:output message="tns:classifyURLResponse" wsaw:Action="http://www.urlclassifier.com/services/Classifier/Classifier/classifyURLResponse"/>
            <wsdl:fault message="tns:classifyURL_faultMsg" name="classifyURL_faultMsg" wsaw:Action="urn:classifyURLclassifyURL_faultMsg"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="ClassifierSOAP" type="tns:ClassifierPortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl:operation name="getTokenStatus">
            <soap:operation soapAction="http://www.urlclassifier.com/services/Classifier/getTokenStatus" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="classifyContent">
            <soap:operation soapAction="http://www.urlclassifier.com/services/Classifier/classifyContent" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="classifyContent_faultMsg">
                <soap:fault use="literal" name="classifyContent_faultMsg"/>
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="classifyURL">
            <soap:operation soapAction="http://www.urlclassifier.com/services/Classifier/classifyURL" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="classifyURL_faultMsg">
                <soap:fault use="literal" name="classifyURL_faultMsg"/>
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="Classifier">
        <wsdl:port name="ClassifierSOAP" binding="tns:ClassifierSOAP">
            <soap:address location="http://www.urlclassifier.com/services/Classifier"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
