<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="wsdl-viewer.xsl"?>
<wsdl:definitions 
    xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://atollon.com/enterprise/wsdl" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
    targetNamespace="http://atollon.com/enterprise/wsdl">
    
    <wsdl:types>
        <schema 
            elementFormDefault="unqualified" targetNamespace="http://atollon.com/enterprise/wsdl" 
            xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" 
            xmlns:impl="http://atollon.com/enterprise/wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            
<!-- Datamolino functions -->
            <complexType name="TYPE_CONFIGURE_DATAMOLINO">
                <complexContent>
                    <extension base="impl:TYPE_REQUEST">
                        <sequence>
                            <element name="dtmApiUid" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                            <element name="dtmApiSecret" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                            <element name="dtmUsername" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                            <element name="dtmPassword" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                            <element name="extractItems" type="xsd:boolean"/>
                            <element name="agendaName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                            <element name="agendaRegNum" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                            <element name="agendaVatNum" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>
            <complexType name="TYPE_CONFIGURE_DATAMOLINO_RESPONSE">
                <complexContent>
                    <extension base="impl:TYPE_RESPONSE"/>
                </complexContent>
            </complexType>

            <complexType name="TYPE_CREATE_OCR_DOCUMENT">
                <complexContent>
                    <extension base="impl:TYPE_REQUEST">
                        <sequence>
                            <element name="user" type="xsd:long" minOccurs="1" maxOccurs="1"/>
                            <element name="documentId" type="xsd:long" minOccurs="1" maxOccurs="1"/>
                            <element name="isIssued" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
                            <element name="RESPONSIBLE_USERS" type="impl:TYPE_USER_LIST" minOccurs="1" maxOccurs="1"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>
            <complexType name="TYPE_CREATE_OCR_DOCUMENT_RESPONSE">
                <complexContent>
                    <extension base="impl:TYPE_RESPONSE">
                        <sequence>
                            <element name="id" type="xsd:long" minOccurs="0" maxOccurs="1"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>
            <complexType name="TYPE_USER_LIST">
                <sequence>
                    <element name="USER" type="impl:TYPE_USER" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </complexType>
            <complexType name="TYPE_USER">
                <sequence>
                    <element name="id" type="xsd:long" minOccurs="1" maxOccurs="1"/>
                </sequence>
            </complexType>


            <complexType name="TYPE_UPDATE_OCR_DOCUMENT_STATUS">
                <complexContent>
                    <extension base="impl:TYPE_REQUEST">
                        <sequence>
                            <element name="document" type="xsd:long" minOccurs="0"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>
            <complexType name="TYPE_UPDATE_OCR_DOCUMENT_STATUS_RESPONSE">
                <complexContent>
                    <extension base="impl:TYPE_RESPONSE"/>
                </complexContent>
            </complexType>

            <complexType name="TYPE_LIST_OCR_DOCUMENTS">
                <complexContent>
                    <extension base="impl:TYPE_REQUEST">
                        <sequence>
                            <element name="limit" type="xsd:int" minOccurs="0" maxOccurs="1"/>
                            <element name="offset" type="xsd:int" minOccurs="0" maxOccurs="1"/>
                            <element name="FILTER" type="impl:TYPE_FILTER" minOccurs="0" maxOccurs="1">
                                <annotation>
                                    <documentation>Allowed values for 'name' are "documentId", "documentName", "documentStatus", "datamolinoId", "isIssued", "invoiceId".</documentation>
                                    <documentation>Allowed values for 'type' are "equals" and "set". For filter name "documentName" is also allowed type "contains".</documentation>
                                    <documentation>Allowed values for 'value' are depending on filter name and type. May be integer, String, boolean or comma separated set of these values.</documentation>
                                </annotation>
                            </element>
                            <element name="ORDER" type="impl:TYPE_ORDER" minOccurs="0" maxOccurs="1"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>
            
            <complexType name="TYPE_LIST_OCR_DOCUMENTS_RESPONSE">
                <complexContent>
                    <extension base="impl:TYPE_RESPONSE">
                        <sequence>
                            <element name="DOCUMENTS" type="impl:TYPE_DOCUMENTS" minOccurs="1" maxOccurs="1"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>

            <complexType name="TYPE_DOCUMENTS">
                <sequence>
                    <element name="DOCUMENT" type="impl:TYPE_DOCUMENT" minOccurs="0" maxOccurs="unbounded" />
                </sequence>
            </complexType>
            <complexType name="TYPE_DOCUMENT">
                <sequence>
                    <element name="id" type="xsd:long" minOccurs="1" maxOccurs="1" />
                    <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" />
                    <element name="created" type="xsd:dateTime" minOccurs="1" maxOccurs="1" />
                    <element name="status" type="xsd:string" minOccurs="1" maxOccurs="1" />
                    <element name="estimation" type="xsd:string" minOccurs="0" maxOccurs="1" />
                    <element name="reason" type="xsd:string" minOccurs="0" maxOccurs="1" />
                    <element name="INVOICES" type="impl:TYPE_INVOICES" minOccurs="1" maxOccurs="1" />
                </sequence>
            </complexType>
            <complexType name="TYPE_INVOICES">
                <sequence>
                    <element name="INVOICE" type="impl:TYPE_INVOICE" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </complexType>
            <complexType name="TYPE_INVOICE">
                <sequence>
                    <element name="id" type="xsd:long" minOccurs="1" maxOccurs="1" />
                    <element name="isIssued" type="xsd:boolean" minOccurs="1" maxOccurs="1" />
                    <element name="created" type="xsd:dateTime" minOccurs="1" maxOccurs="1" />
                </sequence>
            </complexType>

            <complexType name="TYPE_CREATE_INVOICE_DRAFTS_FROM_OCR_DOCUMENT">
                <complexContent>
                    <extension base="impl:TYPE_REQUEST">
                        <sequence>
                            <element name="document" type="xsd:long" minOccurs="1" maxOccurs="1"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>
            <complexType name="TYPE_CREATE_INVOICE_DRAFTS_FROM_OCR_DOCUMENT_RESPONSE">
                <complexContent>
                    <extension base="impl:TYPE_RESPONSE"/>
                </complexContent>
            </complexType>

            <complexType name="TYPE_REPAIR_DOCUMENT">
                <complexContent>
                    <extension base="impl:TYPE_REQUEST">
                        <sequence>
                            <element name="draftId" type="xsd:long" minOccurs="1" maxOccurs="1"/>
                            <element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>
            <complexType name="TYPE_REPAIR_DOCUMENT_RESPONSE">
                <complexContent>
                    <extension base="impl:TYPE_RESPONSE"/>
                </complexContent>
            </complexType>

            <complexType name="TYPE_DELETE_OCR_DOCUMENT">
                <complexContent>
                    <extension base="impl:TYPE_REQUEST">
                        <sequence>
                            <element name="document" type="xsd:long" minOccurs="0"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>
            <complexType name="TYPE_DELETE_OCR_DOCUMENT_RESPONSE">
                <complexContent>
                    <extension base="impl:TYPE_RESPONSE"/>
                </complexContent>
            </complexType>

            <complexType name="TYPE_NOTIFY_RESPONSIBLE_USERS">
                <complexContent>
                    <extension base="impl:TYPE_REQUEST">
                        <sequence/>
                    </extension>
                </complexContent>
            </complexType>
            <complexType name="TYPE_NOTIFY_RESPONSIBLE_USERS_RESPONSE">
                <complexContent>
                    <extension base="impl:TYPE_RESPONSE"/>
                </complexContent>
            </complexType>
            
            <complexType name="TYPE_APPROVE_DOCUMENT_DRAFT">
                <complexContent>
                    <extension base="impl:TYPE_REQUEST">
                        <sequence>
                            <element name="id" type="xsd:long" minOccurs="1" maxOccurs="1"/>
                        </sequence>
                    </extension>
                </complexContent>
            </complexType>
            <complexType name="TYPE_APPROVE_DOCUMENT_DRAFT_RESPONSE">
                <complexContent>
                    <extension base="impl:TYPE_RESPONSE"/>
                </complexContent>
            </complexType>
            
            
            <complexType name="TYPE_REQUEST">
                <sequence>
                    <element name="server" type="xsd:string" />
                    <element name="session" type="xsd:string"/>
                </sequence>
            </complexType>
            <complexType name="TYPE_RESPONSE">
                <sequence>
                    <element name="result" type="xsd:string" >
                        <xsd:annotation><xsd:documentation xmlns="http://www.w3.org/1999/xhtml">
                            <code>FAIL</code> when the error occurred (the parameter
                            <code>EXCEPTION</code> in response should then exists),
                            <code>OK</code> otherwise
                        </xsd:documentation></xsd:annotation></element>
                    <element name="time" type="xsd:string" minOccurs="0">
                        <xsd:annotation><xsd:documentation>how long the operation took
                            on the server
                        </xsd:documentation></xsd:annotation></element>
                    <element name="count" type="xsd:int" minOccurs="0">
                        <xsd:annotation><xsd:documentation>count of rows returned
                        </xsd:documentation></xsd:annotation></element>
                    <element name="EXCEPTION" type="impl:TYPE_EXCEPTION" minOccurs="0"/>
                </sequence>
            </complexType>
            <complexType name="TYPE_EXCEPTION">
                <xsd:annotation><xsd:documentation>
                    Exception information container.
                </xsd:documentation></xsd:annotation>
                <all>
                    <element name="message" type="xsd:string" minOccurs="0">
                        <xsd:annotation><xsd:documentation>short description of the error
                        </xsd:documentation></xsd:annotation></element>
                    <element name="code" type="xsd:int" minOccurs="0">
                        <xsd:annotation><xsd:documentation>error code
                        </xsd:documentation></xsd:annotation></element>
                    <element name="reason" type="xsd:string" minOccurs="0">
                        <xsd:annotation><xsd:documentation>the reason for the error
                        </xsd:documentation></xsd:annotation></element>
                    <element name="name" type="xsd:string" minOccurs="0">
                        <xsd:annotation><xsd:documentation>error name constant
                        </xsd:documentation></xsd:annotation></element>
                    <element name="source" type="xsd:string" minOccurs="0">
                        <xsd:annotation><xsd:documentation>the source module of the error
                        </xsd:documentation></xsd:annotation></element>
                </all>
            </complexType>
            
            <complexType name="TYPE_FILTER">
                <sequence>
                    <element name="COL" type="impl:TYPE_FILTER_COL" minOccurs="1" maxOccurs="unbounded" />
                </sequence>
            </complexType>
            <complexType name="TYPE_FILTER_COL">
                <sequence>
                    <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" />
                    <element name="type" type="xsd:string" minOccurs="1" maxOccurs="1" >
                        <annotation>
                            <documentation>Supported values are: 
                                "equals"
                                "contains"
                                "regular" (NIY)
                                "set" (NIY)
                                "range" (NIY)
                                "mask"
                                "less"
                                "lessOrEquals"
                                "greater"
                                "greaterOrEquals"
                            </documentation>
                        </annotation>
                    </element>
                    <element name="value" type="xsd:string" minOccurs="1" maxOccurs="1" />
                </sequence>
            </complexType>
            
            <complexType name="TYPE_ORDER">
                <sequence>
                    <element name="COL"         type="impl:TYPE_ORDER_COL"  minOccurs="1" maxOccurs="unbounded" />
                </sequence>
            </complexType>
            <complexType name="TYPE_ORDER_COL">
                <sequence>
                    <element name="name"        type="xsd:string"           minOccurs="1" maxOccurs="1" />
                    <element name="desc"        type="xsd:boolean"          minOccurs="1" maxOccurs="1" >
                        <annotation>
                            <documentation>Ascending (false) or descending (true) ordering</documentation>
                        </annotation>
                    </element>
                </sequence>
            </complexType>


            <element name="ConfigureDatamolino" type="impl:TYPE_CONFIGURE_DATAMOLINO"/>
            <element name="ConfigureDatamolinoResponse" type="impl:TYPE_CONFIGURE_DATAMOLINO_RESPONSE"/>
            <element name="CreateOcrDocument" type="impl:TYPE_CREATE_OCR_DOCUMENT"/>
            <element name="CreateOcrDocumentResponse" type="impl:TYPE_CREATE_OCR_DOCUMENT_RESPONSE"/>
            <element name="UpdateOcrDocumentStatus" type="impl:TYPE_UPDATE_OCR_DOCUMENT_STATUS"/>
            <element name="UpdateOcrDocumentStatusResponse" type="impl:TYPE_UPDATE_OCR_DOCUMENT_STATUS_RESPONSE"/>
            <element name="ListOcrDocuments" type="impl:TYPE_LIST_OCR_DOCUMENTS"/>
            <element name="ListOcrDocumentsResponse" type="impl:TYPE_LIST_OCR_DOCUMENTS_RESPONSE"/>
            <element name="CreateInvoiceDraftsFromOcrDocument" type="impl:TYPE_CREATE_INVOICE_DRAFTS_FROM_OCR_DOCUMENT"/>
            <element name="CreateInvoiceDraftsFromOcrDocumentResponse" type="impl:TYPE_CREATE_INVOICE_DRAFTS_FROM_OCR_DOCUMENT_RESPONSE"/>
            <element name="RepairDocument" type="impl:TYPE_REPAIR_DOCUMENT"/>
            <element name="RepairDocumentResponse" type="impl:TYPE_REPAIR_DOCUMENT_RESPONSE"/>
            <element name="DeleteOcrDocument" type="impl:TYPE_DELETE_OCR_DOCUMENT"/>
            <element name="DeleteOcrDocumentResponse" type="impl:TYPE_DELETE_OCR_DOCUMENT_RESPONSE"/>
            <element name="NotifyResponsibleUsers" type="impl:TYPE_NOTIFY_RESPONSIBLE_USERS"/>
            <element name="NotifyResponsibleUsersResponse" type="impl:TYPE_NOTIFY_RESPONSIBLE_USERS_RESPONSE"/>
            <element name="ApproveDocumentDraft" type="impl:TYPE_APPROVE_DOCUMENT_DRAFT"/>
            <element name="ApproveDocumentDraftResponse" type="impl:TYPE_APPROVE_DOCUMENT_DRAFT_RESPONSE"/>
        </schema>
    </wsdl:types>

    <wsdl:message name="ConfigureDatamolinoResponse">
        <wsdl:part name="response" element="impl:ConfigureDatamolinoResponse"/>
    </wsdl:message>
    <wsdl:message name="ConfigureDatamolinoRequest">
        <wsdl:part name="parameters" element="impl:ConfigureDatamolino"/>
    </wsdl:message>

    <wsdl:message name="CreateOcrDocumentResponse">
        <wsdl:part name="response" element="impl:CreateOcrDocumentResponse"/>
    </wsdl:message>
    <wsdl:message name="CreateOcrDocumentRequest">
        <wsdl:part name="parameters" element="impl:CreateOcrDocument"/>
    </wsdl:message>

    <wsdl:message name="UpdateOcrDocumentStatusResponse">
        <wsdl:part name="response" element="impl:UpdateOcrDocumentStatusResponse"/>
    </wsdl:message>
    <wsdl:message name="UpdateOcrDocumentStatusRequest">
        <wsdl:part name="parameters" element="impl:UpdateOcrDocumentStatus"/>
    </wsdl:message>

    <wsdl:message name="ListOcrDocumentsResponse">
        <wsdl:part name="response" element="impl:ListOcrDocumentsResponse"/>
    </wsdl:message>
    <wsdl:message name="ListOcrDocumentsRequest">
        <wsdl:part name="parameters" element="impl:ListOcrDocuments"/>
    </wsdl:message>

    <wsdl:message name="CreateInvoiceDraftsFromOcrDocumentResponse">
        <wsdl:part name="response" element="impl:CreateInvoiceDraftsFromOcrDocumentResponse"/>
    </wsdl:message>
    <wsdl:message name="CreateInvoiceDraftsFromOcrDocumentRequest">
        <wsdl:part name="parameters" element="impl:CreateInvoiceDraftsFromOcrDocument"/>
    </wsdl:message>

    <wsdl:message name="RepairDocumentResponse">
        <wsdl:part name="response" element="impl:RepairDocumentResponse"/>
    </wsdl:message>
    <wsdl:message name="RepairDocumentRequest">
        <wsdl:part name="parameters" element="impl:RepairDocument"/>
    </wsdl:message>

    <wsdl:message name="DeleteOcrDocumentResponse">
        <wsdl:part name="response" element="impl:DeleteOcrDocumentResponse"/>
    </wsdl:message>
    <wsdl:message name="DeleteOcrDocumentRequest">
        <wsdl:part name="parameters" element="impl:DeleteOcrDocument"/>
    </wsdl:message>

    <wsdl:message name="NotifyResponsibleUsersResponse">
        <wsdl:part name="response" element="impl:NotifyResponsibleUsersResponse"/>
    </wsdl:message>
    <wsdl:message name="NotifyResponsibleUsersRequest">
        <wsdl:part name="parameters" element="impl:NotifyResponsibleUsers"/>
    </wsdl:message>
    
    <wsdl:message name="ApproveDocumentDraftResponse">
        <wsdl:part name="response" element="impl:ApproveDocumentDraftResponse"/>
    </wsdl:message>
    <wsdl:message name="ApproveDocumentDraftRequest">
        <wsdl:part name="parameters" element="impl:ApproveDocumentDraft"/>
    </wsdl:message>

   <wsdl:portType name="atollon">
       <wsdl:operation name="ConfigureDatamolino">
           <wsdl:input name="ConfigureDatamolinoRequest" message="impl:ConfigureDatamolinoRequest"/>
           <wsdl:output name="ConfigureDatamolinoResponse" message="impl:ConfigureDatamolinoResponse"/>
       </wsdl:operation>

       <wsdl:operation name="CreateOcrDocument">
           <wsdl:input name="CreateOcrDocumentRequest" message="impl:CreateOcrDocumentRequest"/>
           <wsdl:output name="CreateOcrDocumentResponse" message="impl:CreateOcrDocumentResponse"/>
       </wsdl:operation>

       <wsdl:operation name="UpdateOcrDocumentStatus">
           <wsdl:input name="UpdateOcrDocumentStatusRequest" message="impl:UpdateOcrDocumentStatusRequest"/>
           <wsdl:output name="UpdateOcrDocumentStatusResponse" message="impl:UpdateOcrDocumentStatusResponse"/>
       </wsdl:operation>

       <wsdl:operation name="ListOcrDocuments">
           <wsdl:input name="ListOcrDocumentsRequest" message="impl:ListOcrDocumentsRequest"/>
           <wsdl:output name="ListOcrDocumentsResponse" message="impl:ListOcrDocumentsResponse"/>
       </wsdl:operation>

       <wsdl:operation name="CreateInvoiceDraftsFromOcrDocument">
           <wsdl:input name="CreateInvoiceDraftsFromOcrDocumentRequest" message="impl:CreateInvoiceDraftsFromOcrDocumentRequest"/>
           <wsdl:output name="CreateInvoiceDraftsFromOcrDocumentResponse" message="impl:CreateInvoiceDraftsFromOcrDocumentResponse"/>
       </wsdl:operation>

       <wsdl:operation name="RepairDocument">
           <wsdl:input name="RepairDocumentRequest" message="impl:RepairDocumentRequest"/>
           <wsdl:output name="RepairDocumentResponse" message="impl:RepairDocumentResponse"/>
       </wsdl:operation>

       <wsdl:operation name="DeleteOcrDocument">
           <wsdl:input name="DeleteOcrDocumentRequest" message="impl:DeleteOcrDocumentRequest"/>
           <wsdl:output name="DeleteOcrDocumentResponse" message="impl:DeleteOcrDocumentResponse"/>
       </wsdl:operation>

       <wsdl:operation name="NotifyResponsibleUsers">
           <wsdl:input name="NotifyResponsibleUsersRequest" message="impl:NotifyResponsibleUsersRequest"/>
           <wsdl:output name="NotifyResponsibleUsersResponse" message="impl:NotifyResponsibleUsersResponse"/>
       </wsdl:operation>
       
       <wsdl:operation name="ApproveDocumentDraft">
           <wsdl:input name="ApproveDocumentDraftRequest" message="impl:ApproveDocumentDraftRequest"/>
           <wsdl:output name="ApproveDocumentDraftResponse" message="impl:ApproveDocumentDraftResponse"/>
       </wsdl:operation>
   </wsdl:portType>

   <wsdl:binding name="features" type="impl:atollon">
      <wsdlsoap:binding style="document"
         transport="http://schemas.xmlsoap.org/soap/http" />

       <wsdl:operation name="ConfigureDatamolino">
           <wsdlsoap:operation soapAction="atollon#ConfigureDatamolino"/>
           <wsdl:input name="ConfigureDatamolinoRequest">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:input>
           <wsdl:output name="ConfigureDatamolinoResponse">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:output>
       </wsdl:operation>

       <wsdl:operation name="CreateOcrDocument">
           <wsdlsoap:operation soapAction="atollon#CreateOcrDocument"/>
           <wsdl:input name="CreateOcrDocumentRequest">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:input>
           <wsdl:output name="CreateOcrDocumentResponse">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:output>
       </wsdl:operation>

       <wsdl:operation name="UpdateOcrDocumentStatus">
           <wsdlsoap:operation soapAction="atollon#UpdateOcrDocumentStatus"/>
           <wsdl:input name="UpdateOcrDocumentStatusRequest">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:input>
           <wsdl:output name="UpdateOcrDocumentStatusResponse">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:output>
       </wsdl:operation>

       <wsdl:operation name="ListOcrDocuments">
           <wsdlsoap:operation soapAction="atollon#ListOcrDocuments"/>
           <wsdl:input name="ListOcrDocumentsRequest">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:input>
           <wsdl:output name="ListOcrDocumentsResponse">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:output>
       </wsdl:operation>

       <wsdl:operation name="CreateInvoiceDraftsFromOcrDocument">
           <wsdlsoap:operation soapAction="atollon#CreateInvoiceDraftsFromOcrDocument"/>
           <wsdl:input name="CreateInvoiceDraftsFromOcrDocumentRequest">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:input>
           <wsdl:output name="CreateInvoiceDraftsFromOcrDocumentResponse">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:output>
       </wsdl:operation>

       <wsdl:operation name="RepairDocument">
           <wsdlsoap:operation soapAction="atollon#RepairDocument"/>
           <wsdl:input name="RepairDocumentRequest">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:input>
           <wsdl:output name="RepairDocumentResponse">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:output>
       </wsdl:operation>

       <wsdl:operation name="DeleteOcrDocument">
           <wsdlsoap:operation soapAction="atollon#DeleteOcrDocument"/>
           <wsdl:input name="DeleteOcrDocumentRequest">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:input>
           <wsdl:output name="DeleteOcrDocumentResponse">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:output>
       </wsdl:operation>

       <wsdl:operation name="NotifyResponsibleUsers">
           <wsdlsoap:operation soapAction="atollon#NotifyResponsibleUsers"/>
           <wsdl:input name="NotifyResponsibleUsersRequest">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:input>
           <wsdl:output name="NotifyResponsibleUsersResponse">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:output>
       </wsdl:operation>
       
       <wsdl:operation name="ApproveDocumentDraft">
           <wsdlsoap:operation soapAction="atollon#ApproveDocumentDraft"/>
           <wsdl:input name="ApproveDocumentDraftRequest">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:input>
           <wsdl:output name="ApproveDocumentDraftResponse">
               <wsdlsoap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
           </wsdl:output>
       </wsdl:operation>
   </wsdl:binding>

   <wsdl:service name="atollon">
        <wsdl:port name="atollon" binding="impl:features">
            <wsdlsoap:address location="http://demo-soap.atollon.com:20185/axis2/services/atollon"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>