<?xml version="1.0"?>
<wsdl:definitions 
    name="ebp" 
    targetNamespace="http://www.elasticcobol.com/downloads/schemas/" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:tns="http://www.elasticcobol.com/downloads/schemas/" 
    xmlns:ebpns="http://www.elasticcobol.com/downloads/schemas/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:whttp="http://www.w3.org/ns/wsdl/http" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <wsdl:documentation>
     This is a WSDL 2.0 description of the Heirloom Computing Elastic Batch Platform REST Web Services
  </wsdl:documentation>

  <wsdl:types>
    <xs:import namespace="http://www.elasticcobol.com/downloads/schemas/"
       schemaLocation="ebp.xsd"/>
  </wsdl:types>

  <wsdl:portType name="EBPInterface">
    <wsdl:operation name="define">
      <wsdl:documentation>
         This wsdl:operation creates a new job class
      </wsdl:documentation>
      <wsdl:input message="ebpns:definerequest"/>
      <wsdl:output message="ebpns:defineresponse"/>
    </wsdl:operation>
    <wsdl:operation name="start">
      <wsdl:documentation>
         This wsdl:operation starts an initiator for a job class
      </wsdl:documentation>
      <wsdl:input message="ebpns:startrequest"/>
      <wsdl:output message="ebpns:startresponse"/>
    </wsdl:operation>
    <wsdl:operation name="submit">
      <wsdl:documentation>
         This wsdl:operation submits a batch job
      </wsdl:documentation>
      <wsdl:input message="ebpns:submitrequest"/>
      <wsdl:output message="ebpns:submitresponse"/>
    </wsdl:operation>
    <wsdl:operation name="list">
      <wsdl:documentation>
         This wsdl:operation lists the status of job classes, initiators, jobs, jobgroups and wsdl:output datasets and returns job wsdl:output datasets
      </wsdl:documentation>
      <wsdl:input message="ebpns:listrequest"/>
      <wsdl:output message="ebpns:listresponse"/>
    </wsdl:operation>
    <wsdl:operation name="quiesce">
      <wsdl:documentation>
         This wsdl:operation will perform a system quiesce -- suspending job execution
      </wsdl:documentation>
      <wsdl:input message="ebpns:quiescerequest"/>
      <wsdl:output message="ebpns:quiesceresponse"/>
    </wsdl:operation>
    <wsdl:operation name="cancel">
      <wsdl:documentation>
         This wsdl:operation cancels a running or queued job
      </wsdl:documentation>
      <wsdl:input message="ebpns:cancelrequest"/>
      <wsdl:output message="ebpns:cancelresponse"/>
    </wsdl:operation>
    <wsdl:operation name="purge">
      <wsdl:documentation>
         This wsdl:operation purges a queued job from the wsdl:input queue or job wsdl:output from the wsdl:output queue
      </wsdl:documentation>
      <wsdl:input message="ebpns:purgerequest"/>
      <wsdl:output message="ebpns:purgeresponse"/>
    </wsdl:operation>
    <wsdl:operation name="stop">
      <wsdl:documentation>
         This wsdl:operation stops an initiator after it completes any existing job
      </wsdl:documentation>
      <wsdl:input message="ebpns:stoprequest"/>
      <wsdl:output message="ebpns:stopresponse"/>
    </wsdl:operation>
    <wsdl:operation name="undefine">
      <wsdl:documentation>
         This wsdl:operation stops all initiators for a job class and then removes the class
      </wsdl:documentation>
      <wsdl:input message="ebpns:undefinerequest"/>
      <wsdl:output message="ebpns:undefineresponse"/>
    </wsdl:operation>
    <wsdl:operation name="checkpoint">
      <wsdl:documentation>
         This wsdl:operation checkpoints a running job
      </wsdl:documentation>
      <wsdl:input message="ebpns:checkpointrequest"/>
      <wsdl:output message="ebpns:checkpointresponse"/>
    </wsdl:operation>
    <wsdl:operation name="restart">
      <wsdl:documentation>
         This wsdl:operation requeues a held job or restarts a job that has been checkpointed
      </wsdl:documentation>
      <wsdl:input message="ebpns:restartrequest"/>
      <wsdl:output message="ebpns:restartresponse"/>
    </wsdl:operation>
    <wsdl:operation name="config">
      <wsdl:documentation>
         This wsdl:operation creates a new job class
      </wsdl:documentation>
      <wsdl:input message="ebpns:configrequest"/>
      <wsdl:output message="ebpns:configresponse"/>
    </wsdl:operation>
  </wsdl:portType>

  <wsdl:binding name="EBPHTTPBinding" type="http">
    <wsdl:documentation>
       The RESTful HTTP wsdl:binding for the EBP wsdl:service
    </wsdl:documentation>
  </wsdl:binding>

  <wsdl:service name="EBP">
    <wsdl:documentation>
       EBP REST Web Services
    </wsdl:documentation>
    <wsdl:port name="EBP" binding="EBPHTTPBinding">
        <soap:address location="http://www.example.org/" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
