3.2.4.2 CancelPostScanJob
The CancelPostScanJob operation is used to cancel a PostScan job that is being processed.
-
<wsdl:operation name="CancelPostScanJob"> <wsdl:input message="dsc:CancelPostScanJobRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2008/12/wdp/distributedscan/ configuration/CancelPostScanJob"/> <wsdl:output message="dsc:CancelPostScanJobResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2008/12/wdp/distributedscan/ configuration/CancelPostScanJobResponse"/> </wsdl:operation>
Upon receiving a dsc:CancelPostScanJobRequestMsg, the server MUST respond with an dsc:CancelPostScanJobResponseMsg or a SOAP fault, as follows:
If the server cannot validate the arguments of the dsc:CancelPostScanJobRequestMsg, the server MUST return a dsc:InvalidArgs SOAP fault.<14>
If the server encounters an unexpected error from which it can recover while processing the dsc:CancelPostScanJobRequestMsg, the server MUST return a dsc:ServerErrorTemporaryError SOAP fault.
If the server encounters an unexpected error from which it cannot recover while processing the dsc:CancelPostScanJobRequestMsg, the server MUST return a dsc:ServerErrorInternalError SOAP fault depending on the severity of the unexpected error.
If the server does not have a currently processing PostScan job that matches the dsc:JobToken element of the CancelPostScanJobRequest element, the server MUST return an dsc:ClientErrorJobTokenNotFound fault.
If the server does have a currently processing PostScan job that matches the dsc:JobToken element of the dsc:CancelPostScanJobRequest element, the server MUST take following steps:
Attempt to stop any filters currently processing scan documents.
Cancel any filters that have not begun processing.
Set the value of dsc:JobState to "Canceled" and the value of dsc:JobStateReason to "PostScanJobCanceled".
Respond with an dsc:CancelPostScanJobResponse.
The CancelPostScanJob is a best-effort operation. The scan repository will accept or reject the operation, then the client can determine the outcome by checking the information returned in the dsc:PostScanJobEndStateEvent or by using GetPostScanJobElements after the job has completed processing.