CreateScanJobRequest 元素

所需的 CreateScanJobRequest 操作准备要扫描的扫描设备。

使用情况

<wscn:CreateScanJobRequest>
  child elements
</wscn:CreateScanJobRequest>

属性

没有属性。

文本值

子元素

元素
DestinationToken
ScanIdentifier
ScanTicket

父元素

没有父元素。

注解

WSD 扫描服务必须支持 CreateScanJobRequest 操作。

CreateScanJobRequest 操作是准备扫描设备以扫描可供其使用的图像的main机制。 此操作可以通过两种不同的方法启动。 每个方法都会将不同的参数发送到 CreateScanJobRequest。 这两种方法和参数为:

  • 用户选择目标并在设备上推送扫描按钮。 在此方法中,客户端发送包含以下子元素的 CreateScanJobRequest

    • 扫描服务通过 ScanAvailableEvent 返回到客户端的 ScanIdentifier 元素。 扫描服务应检查此标识符,以确保在用户选择目标后,正确的客户端正在请求扫描。

    • WSD 扫描服务在订阅接收 ScanAvailableEvent 事件时返回到客户端的 DestinationToken 元素。 扫描服务应通过检查此令牌检查正确的客户端正在请求扫描。

    • 一个 ScanTicket 元素,用于控制扫描的处理。 扫描票证中的值是在用户进入设备启动扫描之前在客户端上设置的默认值。

  • 用户启动客户端上的应用程序并获取映像。 在此方法中,客户端仅使用 ScanTicket 元素发送 CreateScanJobRequest

CreateScanJobRequest 层次结构中的某些元素可以包含 MustHonor Boolean 属性。 如果 MustHonor 存在且为 true,则 WSD 扫描服务必须遵循请求的元素及其值或拒绝扫描作业请求。 如果不支持的元素没有 MustHonor 属性,或者其 MustHonor 属性为 false,则 WSD 扫描服务必须忽略它。 如果支持的元素的 MustHonor 属性为 false,则 WSD 扫描服务必须使用受支持的值取代请求的值。

如果客户端在扫描作业请求 ((如 InputSourceResolution) )中提供了元素的冲突组合,则如果冲突元素的 MustHonor 属性值为 true,则 WSD 扫描服务必须拒绝扫描作业请求。

以下元素可以具有 MustHonor 属性: ColorProcessingCompressionQualityFactorContentTypeExposureFilmScanModeImagesToTransferInputSizeInputSourceMediaSidesResolutionRotationScalingScanRegionHeightScanRegionWidthScanRegionXOffsetScanRegionYOffset

此操作可以返回所有 常见的 WSD 扫描服务操作错误代码。 有关如何报告错误的详细信息,请参阅 WSD 扫描服务操作错误报告

CreateScanJobRequest 也可能返回以下错误:

  • ServerErrorNotAcceptingJobs 服务器无法接受新的扫描作业。 出现此错误的原因可能是扫描程序已进入服务模式,或者存在用户干预条件,并且所有内存缓冲区都已用尽。 客户端可以在以后的某个时间点再次尝试未修改的请求,并期望服务器已解除阻止,扫描程序再次接受作业。

    Fault 属性 定义
    [代码] soap:Receiver
    [子代码] wscn:ServerErrorNotAcceptingJobs
    [原因] 该服务暂时被阻止,无法接受新的作业或文档请求。
    [详细信息]
  • ClientErrorFormatNotSupported 扫描程序不支持提供的 Format 值。

    Fault 属性 定义
    [代码] soap:Sender
    [子代码] wscn:ClientErrorFormatNotSupported
    [原因] 不支持文档格式参数值。
    [详细信息] 可选。 扫描服务可以返回受支持格式的列表。 此元素中的数据应为 wscn:FormatSupportedType> 类型<。
  • ClientErrorInvalidScanIdentifier 提供的 ScanIdentifier 值当前在扫描设备中无效。

    Fault 属性 定义
    [代码] soap:Sender
    [子代码] wscn:ClientErrorInvalidScanIdentifier
    [原因] ScanIdentifier 参数值当前无效。
    [详细信息]
  • ClientErrorInvalidDestinationToken 提供的 DestinationToken 值对扫描设备无效。

    Fault 属性 定义
    [代码] soap:Sender
    [子代码] wscn:ClientErrorInvalidDestinationToken
    [原因] DestinationToken 参数值当前无效。
    [详细信息]
  • ClientErrorNoImagesAvailable 服务器无法接受新的扫描作业,因为没有要扫描的介质。 例如,当从附加到扫描程序的自动文档馈送器执行扫描作业,并且送纸器为空时,将生成此错误。 客户端可以在以后再次尝试未修改的请求,预期条件已修复,扫描程序现在有要扫描的媒体。

    Fault 属性 定义
    [代码] soap:Sender
    [子代码] wscn:ClientErrorNoImagesAvailable
    [原因] 服务器没有可供获取的映像。
    [详细信息]

示例

下面的代码示例演示从扫描设备启动扫描时扫描作业请求。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
  xmlns:soap="https://www.w3.org/2003/05/soap-envelope"
  xmlns:wsa="https://schemas.xmlsoap.org/ws/2003/03/addressing"
  xmlns:wscn="https://schemas.microsoft.com/windows/2006/01/wdp/scan"
  soap:encodingStyle='https://www.w3.org/2002/12/soap-encoding' >

  <soap:Header>
    <wsa:To>AddressofScannerService</wsa:To>
    <wsa:Action>
      https://schemas.microsoft.com/windows/2006/01/wdp/scan/CreateScanJob
    </wsa:Action>
    <wsa:MessageID>uuid:UniqueMsgId</wsa:MessageID>
  </soap:Header>

  <soap:Body>
    <wscn:CreateScanJobRequest>
      <wscn:ScanIdentifier>
        uuid:12e7a983-1034-5428-d298-0016f11097fa
      </wscn:ScanIdentifier>
      <wscn:DestinationToken>
        Dest1234TokenString
      </wscn:DestinationToken>
      <wscn:ScanTicket>
        <wscn:JobDescription>
          <wscn:JobName>Photo Scan</wscn:JobName>
          <wscn:JobOriginatingUserName>RogerSmith</JobOriginatingUserName>
        </wscn:JobDescription>
        <wscn:DocumentParameters>
          <wscn:Format>jfif</wscn:Format>
          <wscn:CompressionQualityFactor>45</wscn:CompressionQualityFactor>
          <wscn:InputSource>Platen</wscn:InputSource>
          <wscn:ContentType>Auto</wscn:ContentType>
          <wscn:InputSize>
            <wscn:DocumentSizeAutoDetect>true</wscn:DocumentSizeAutoDetect>
          </wscn:InputSize>
          <wscn:Scaling wscn:MustHonor="1">
            <wscn:ScalingWidth>125</wscn:ScalingWidth>
            <wscn:ScalingHeight>125</wscn:ScalingHeight>
          </wscn:Scaling>
          <wscn:MediaSides>
            <wscn:MediaFront>
              <wscn:Resolution wscn:MustHonor="1">
                <wscn:Width>300</wscn:Width>
                <wscn:Height>300</wscn:Height>
              </wscn:Resolution>
            </wscn:MediaFront>
          </wscn:MediaSides>
        </wscn:DocumentParameters>
      </wscn:ScanTicket>
    </wscn:CreateScanJobRequest>
  </soap:Body>
</soap:Envelope>

下面的代码示例演示从客户端上的应用程序启动扫描时,扫描作业请求。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
  xmlns:soap="https://www.w3.org/2003/05/soap-envelope"
  xmlns:wsa="https://schemas.xmlsoap.org/ws/2003/03/addressing"
  xmlns:wscn="https://schemas.microsoft.com/windows/2006/01/wdp/scan"
  soap:encodingStyle='https://www.w3.org/2002/12/soap-encoding' >

  <soap:Header>
    <wsa:To>AddressofScannerService</wsa:To>
    <wsa:Action>
      https://schemas.microsoft.com/windows/2006/01/wdp/scan/CreateScanJob
    </wsa:Action>
    <wsa:MessageID>uuid:UniqueMsgId</wsa:MessageID>
  </soap:Header>

  <soap:Body>
    <wscn:CreateScanJobRequest>
      <wscn:ScanTicket>
        <wscn:JobDescription>
          <wscn:JobName>Application Scan</wscn:JobName>
          <wscn:JobOriginatingUserName>RogerSmith</JobOriginatingUserName>
        </wscn:JobDescription>
        <wscn:DocumentParameters>
          <wscn:Format>xps</wscn:Format>
          <wscn:ImagesToTransfer>0</wscn:ImagesToTransfer>
          <wscn:InputSource>ADF</wscn:InputSource>
          <wscn:ContentType>Auto</wscn:ContentType>
          <wscn:InputSize>
            <wscn:DocumentSizeAutoDetect>true</wscn:DocumentSizeAutoDetect>
          </wscn:InputSize>
          <wscn:MediaSides>
            <wscn:MediaFront>
              <wscn:ColorProcessing>RGB48</wscn:ColorProcessing>
              <wscn:Resolution>
                <wscn:Width>1200</wscn:Width>
              </wscn:Resolution>
            </wscn:MediaFront>
          </wscn:MediaSides>
        </wscn:DocumentParameters>
        <wscn:DocumentDescription>
          <wscn:DocumentName>Scan001.jpg</DocumentName>
        </wscn:DocumentDescription>
      </wscn:ScanTicket>
    </wscn:CreateScanJobRequest>
  </soap:Body>
</soap:Envelope>

另请参阅

ColorProcessing

CompressionQualityFactor

ContentType

CreateScanJobResponse

DestinationToken

曝光

FilmScanMode

ImagesToTransfer

InputSize

InputSource

MediaSides

解决方法

旋转

扩展

ScanAvailableEvent

ScanIdentifier

ScanRegionHeight

ScanRegionWidth

ScanRegionXOffset

ScanRegionYOffset

ScanTicket