<?xml version="1.0" encoding="UTF-8"?>
<definitions name="CVXtractorService"
   xmlns="http://schemas.xmlsoap.org/wsdl/"
   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
   xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
   xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
   xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
   xmlns:s0="CVXtractorService"
   targetNamespace="CVXtractorService"
>
<!--
   to compile into C# class use wsdl.exe
   ?? ASP.net require s: instaed of xsd: prefix ??
http://www.w3.org/TR/wsdl
http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework/topic2061.aspx             
-->

  <types>
    <xsd:schema elementFormDefault="qualified" targetNamespace="CVXtractorService">
      <xsd:element name="ProcessCV">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="document_url"   type="xsd:base64Binary" />
            <xsd:element minOccurs="1" maxOccurs="1" name="account"        type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ProcessCVResponse">
        <xsd:complexType> 
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="hrxml" type="xsd:string" />
          </xsd:sequence>
         </xsd:complexType>
      </xsd:element>

     <xsd:element name="ProcessJobOrder">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="document_url"   type="xsd:base64Binary" />
            <xsd:element minOccurs="1" maxOccurs="1" name="account"        type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ProcessJobOrderResponse">
        <xsd:complexType> 
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="vacxml" type="xsd:string" />
          </xsd:sequence>
         </xsd:complexType>
      </xsd:element>


      <xsd:element name="ReformatCV">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="document_url"   type="xsd:base64Binary" />
            <xsd:element minOccurs="1" maxOccurs="1" name="account"        type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="template"       type="xsd:string" />
            <xsd:element minOccurs="0" maxOccurs="1" name="hrxml"          type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReformatCVResponse">
        <xsd:complexType> 
          <xsd:sequence>
<!--
            <xsd:element minOccurs="1" maxOccurs="1" name="hrxml" type="xsd:string" />
-->
            <xsd:element minOccurs="1" maxOccurs="1" name="doc"   type="xsd:base64Binary" />
          </xsd:sequence>
         </xsd:complexType>
      </xsd:element>

      <xsd:element name="PDF2Word">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="document_url" type="xsd:base64Binary" />
            <xsd:element minOccurs="1" maxOccurs="1" name="account"      type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PDF2WordResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="doc"   type="xsd:base64Binary" />
          </xsd:sequence>
         </xsd:complexType>
      </xsd:element>


      <xsd:element name="ConvertCV">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="document_url" type="xsd:base64Binary" />
            <xsd:element minOccurs="1" maxOccurs="1" name="account"      type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ConvertCVResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="convert" type="xsd:string" />
          </xsd:sequence>
         </xsd:complexType>
      </xsd:element>


      <xsd:element name="ProcessBatch">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="document_url"   type="xsd:base64Binary" />
            <xsd:element minOccurs="1" maxOccurs="1" name="account"        type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ProcessBatchResponse">
        <xsd:complexType> 
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Results" type="xsd:string" />
          </xsd:sequence>
         </xsd:complexType>
      </xsd:element>

      <xsd:element name="InstallLists">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="list_type"      type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="account"        type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="list_content"   type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="InstallListsResponse">
        <xsd:complexType> 
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="return_message" type="xsd:string" />
          </xsd:sequence>
         </xsd:complexType>
      </xsd:element>

     <xsd:element name="RetrieveLists">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="list_type"      type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="account"        type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="RetrieveListsResponse">
        <xsd:complexType> 
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="list_content" type="xsd:string" />
          </xsd:sequence>
         </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreateAccount">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="account"        type="xsd:string" />
            <xsd:element minOccurs="0" maxOccurs="1" name="credentials"    type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CreateAccountResponse">
        <xsd:complexType> 
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="return_message" type="xsd:string" />
          </xsd:sequence>
         </xsd:complexType>
      </xsd:element>

    </xsd:schema>
  </types>



<!--
  this is good enough for perl but not for .NET they need
  to go through types 

  <message name="ProcessCV_In">
      <part name="document_url" type="xsd:base64Binary"/>
      <part name="account"      type="xsd:string"/>
  </message>
  <message name="ProcessCV_Out">
      <part name="hrxml" type="xsd:string"/> 
  </message>
-->

   <message name="ProcessCV_In">
      <part name="parameters" element="s0:ProcessCV" /> 
   </message>
   <message name="ProcessCV_Out">
      <part name="return" element="s0:ProcessCVResponse" />
   </message>

   <message name="ProcessJobOrder_In">
      <part name="parameters" element="s0:ProcessJobOrder" /> 
   </message>
   <message name="ProcessJobOrder_Out">
      <part name="return" element="s0:ProcessJobOrderResponse" />
   </message>

   <message name="ReformatCV_In">
      <part name="parameters" element="s0:ReformatCV" /> 
   </message>
   <message name="ReformatCV_Out">
      <part name="return" element="s0:ReformatCVResponse" />
   </message>

   <message name="PDF2Word_In">
      <part name="parameters" element="s0:PDF2Word" /> 
   </message>
   <message name="PDF2Word_Out">
      <part name="return" element="s0:PDF2WordResponse" />
   </message>


   <message name="ConvertCV_In">
      <part name="parameters" element="s0:ConvertCV" />
   </message>
   <message name="ConvertCV_Out">
      <part name="return" element="s0:ConvertCVResponse" />
   </message>

   <message name="ProcessBatch_In">
      <part name="parameters" element="s0:ProcessBatch" /> 
   </message>
   <message name="ProcessBatch_Out">
      <part name="return" element="s0:ProcessBatchResponse" />
   </message>

   <message name="InstallLists_In">
      <part name="parameters" element="s0:InstallLists" /> 
   </message>
   <message name="InstallLists_Out">
      <part name="return" element="s0:InstallListsResponse" />
   </message>

  <message name="RetrieveLists_In">
      <part name="parameters" element="s0:RetrieveLists" /> 
   </message>
   <message name="RetrieveLists_Out">
      <part name="return" element="s0:RetrieveListsResponse" />
   </message>

   <message name="CreateAccount_In">
      <part name="parameters" element="s0:CreateAccount" /> 
   </message>
   <message name="CreateAccount_Out">
      <part name="return" element="s0:CreateAccountResponse" />
   </message>


   <portType name="CVXtractor_PortType">
      <operation name="ProcessCV">
         <input  message="s0:ProcessCV_In"  name="ProcessCV_In"  />
         <output message="s0:ProcessCV_Out" name="ProcessCV_Out" /> 
      </operation>
      <operation name="ProcessJobOrder">
         <input  message="s0:ProcessJobOrder_In"  name="ProcessJobOrder_In"  />
         <output message="s0:ProcessJobOrder_Out" name="ProcessJobOrder_Out" /> 
      </operation>
      <operation name="ConvertCV">
         <input  message="s0:ConvertCV_In"  name="ConvertCV_In"  />
         <output message="s0:ConvertCV_Out" name="ConvertCV_Out" />
      </operation>
      <operation name="ReformatCV">
         <input  message="s0:ReformatCV_In"  name="ReformatCV_In"  />
         <output message="s0:ReformatCV_Out" name="ReformatCV_Out" /> 
      </operation>
     <operation name="PDF2Word">
         <input  message="s0:PDF2Word_In"  name="PDF2Word_In"  />
         <output message="s0:PDF2Word_Out" name="PDF2Word_Out" /> 
      </operation>  
     <operation name="ProcessBatch">
         <input  message="s0:ProcessBatch_In"  name="ProcessBatch_In"  />
         <output message="s0:ProcessBatch_Out" name="ProcessBatch_Out" />
      </operation>
      <operation name="InstallLists">
         <input  message="s0:InstallLists_In"  name="InstallLists_In"  />
         <output message="s0:InstallLists_Out" name="InstallLists_Out" />
      </operation>
      <operation name="RetrieveLists">
         <input  message="s0:RetrieveLists_In"  name="RetrieveLists_In"  />
         <output message="s0:RetrieveLists_Out" name="RetrieveLists_Out" />
      </operation>
      <operation name="CreateAccount">
         <input  message="s0:CreateAccount_In"  name="CreateAccount_In"  />
         <output message="s0:CreateAccount_Out" name="CreateAccount_Out" />
      </operation>
   </portType>
   
   <binding name="CVXtractor_Binding" type="s0:CVXtractor_PortType">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

      <operation name="ProcessCV">
         <soap:operation soapAction="CVXtractorService#ProcessCV"  style="document" />
         <input name="ProcessCV_In">
            <soap:body use="literal" 
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService" 
           />
           <!-- MS .Net has limited support for use="encoded" -->
         </input>
         <output name="ProcessCV_Out">
            <soap:body  use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
            /> 
         </output>
      </operation>

     <operation name="ProcessJobOrder">
         <soap:operation soapAction="CVXtractorService#ProcessJobOrder"
         style="document" />
         <input name="ProcessJobOrder_In">
            <soap:body use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
           />
           <!-- MS .Net has limited support for use="encoded" -->
         </input>
         <output name="ProcessJobOrder_Out">
            <soap:body  use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
            />
         </output>
      </operation>


      <operation name="ReformatCV">
         <soap:operation soapAction="CVXtractorService#ReformatCV"  style="document" />
         <input name="ReformatCV_In">
            <soap:body use="literal" 
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService" 
           />
           <!-- MS .Net has limited support for use="encoded" -->
         </input>
         <output name="ReformatCV_Out">
            <soap:body  use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
            /> 
         </output>
      </operation>

      <operation name="PDF2Word">
         <soap:operation soapAction="CVXtractorService#PDF2Word"  style="document" />
         <input name="PDF2Word_In">
            <soap:body use="literal" 
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService" 
           />
           <!-- MS .Net has limited support for use="encoded" -->
         </input>
         <output name="PDF2Word_Out">
            <soap:body  use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
            /> 
         </output>
      </operation>

      <operation name="ConvertCV">
         <soap:operation soapAction="CVXtractorService#ConvertCV"
         style="document" />
         <input name="ConvertCV_In">
            <soap:body use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
           />
           <!-- MS .Net has limited support for use="encoded" -->
         </input>
         <output name="ConvertCV_Out">
            <soap:body  use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
            />
         </output>
      </operation>


      <operation name="ProcessBatch">
         <soap:operation soapAction="CVXtractorService#ProcessBatch"
         style="document" />
         <input name="ProcessBatch_In">
            <soap:body use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
           />
           <!-- MS .Net has limited support for use="encoded" -->
         </input>
         <output name="ProcessBatch_Out">
            <soap:body  use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
            />
         </output>
      </operation>

     <operation name="InstallLists">
         <soap:operation soapAction="CVXtractorService#InstallLists"  style="document" />
         <input name="InstallLists_In">
            <soap:body use="literal" 
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService" 
           />
           <!-- MS .Net has limited support for use="encoded" -->
         </input>
         <output name="InstallLists_Out">
            <soap:body  use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
            /> 
         </output>
      </operation>

     <operation name="RetrieveLists">
         <soap:operation soapAction="CVXtractorService#RetrieveLists"  style="document" />
         <input name="RetrieveLists_In">
            <soap:body use="literal" 
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService" 
           />
           <!-- MS .Net has limited support for use="encoded" -->
         </input>
         <output name="RetrieveLists_Out">
            <soap:body  use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
            /> 
         </output>
      </operation>

     <operation name="CreateAccount">
         <soap:operation soapAction="CVXtractorService#CreateAccount"  style="document" />
         <input name="CreateAccount_In">
            <soap:body use="literal" 
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService" 
           />
           <!-- MS .Net has limited support for use="encoded" -->
         </input>
         <output name="CreateAccount_Out">
            <soap:body  use="literal"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="CVXtractorService"
            /> 
         </output>
      </operation>


   </binding>
 
   <service name="CVXtractor_Service">
      <documentation>WSDL File for CVXtractorService</documentation>
      <port binding="s0:CVXtractor_Binding" name="CVXtractor_Port">
         <soap:address 
            location="http://xtr6.infogistics.com/cvvalid-bin/CVXtractorServiceSOAP.pl"/>
      </port>
   </service>


</definitions>

