Elemento ScanAvailableEvent
El elemento ScanAvailableEvent necesario informa a un cliente de que un dispositivo de examen al que está suscrito está listo para examinar un trabajo.
Uso
<wscn:ScanAvailableEvent>
child elements
</wscn:ScanAvailableEvent>
Atributos
No hay atributos.
Elementos secundarios
Elemento |
---|
ClientContext |
ScanIdentifier |
Elementos primarios
No hay elementos primarios.
Comentarios
El servicio de examen de WSD envía un elemento ScanAvailableEvent a un cliente registrado cuando un usuario ha seleccionado un destino de examen e iniciado un examen en el dispositivo de examen.
Un cliente debe crear una suscripción con el servicio de examen de WSD para recibir eventos ScanAvailableEvent . El cliente crea una suscripción mediante el envío de un mensaje de solicitud al servicio de examen a través del <elemento de operación de solicitud wse:Subscribe> .
La solicitud de suscripción contiene uno o varios destinos en el elemento de extensión ScanDestinations . El servicio scan usará estos destinos para filtrar por un solo cliente cada vez que envía una notificación ScanAvailableEvent . Este filtro impide que el servicio de examen notifique a todos los clientes cuando un usuario presiona el botón de examen. Los elementos de extensión se definen en el espacio de nombres WSD Scan Service y, a continuación, se agregan al cuerpo de la <solicitud wse:Subscribe> .
Si el servicio de examen de WSD acepta la solicitud del cliente para crear una suscripción, el servicio debe responder con un <elemento de operación de respuesta wse:SubscribeResponse> . La respuesta de suscripción contiene una o varias respuestas de destino en el elemento de extensión DestinationResponses , lo que ayuda a conectar la suscripción al dispositivo de examen que lo aceptó.
Los <elementos wse:Subscribe> y <wse:SubscribeResponse> se describen en la especificación .
Ejemplos
En el ejemplo de código siguiente se muestra cómo un cliente se suscribe para recibir eventos ScanAvailableEvent del servicio de examen de WSD.
<soap:Envelope
xmlns:soap="https://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wse="https://schemas.xmlsoap.org/ws/2004/08/eventing"
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.xmlsoap.org/ws/2004/08/eventing/Subscribe
</wsa:Action>
<wsa:MessageID>uuid:UniqueMsgId</wsa:MessageID>
<wsa:ReplyTo>
<wsa:Address>https://www.example.com/MyEventSink</wsa:Address>
</wsa:ReplyTo>
</soap:Header>
<soap:Body>
<wse:Subscribe>
<wse:Delivery>
<wse:NotifyTo>
<wsa:Address>
https://www.example.com/MyEventSink/OnScanAvailableForMe
</wsa:Address>
</wse:NotifyTo>
</wse:Delivery>
<wse:Expires>P0Y0M0DT30H0M0S</wse:Expires>
<wse:Filter xmlns:wscn="https://schemas.microsoft.com/windows/2006/01/wdp/scan">
ScanAvailableEvent
</wse:Filter>
<wscn:ScanDestinations>
<wscn:ScanDestination>
<wscn:ClientDisplayString>Den Computer</wscn:ClientDisplayString>
<wscn:ClientContext>App1ScanID2345</wscn:ClientContext>
</wscn:ScanDestination>
</wscn:ScanDestinations>
</wse:Subscribe>
</soap:Body
</soap:Envelope>
En el ejemplo de código siguiente se muestra la respuesta del servicio de examen de WSD a la solicitud de suscripción de un cliente.
<soap:Envelope
xmlns:soap="https://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wse="https://schemas.xmlsoap.org/ws/2004/08/eventing"
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>https://schemas.xmlsoap.org/ws/2003/03/addressing/role/anonymous</wsa:To>
<wsa:Action>
https://schemas.xmlsoap.org/ws/2004/08/eventing/SubscribeResponse
</wsa:Action>
<wsa:MessageID>uuid:UniqueMsgId</wsa:MessageID>
<wsa:RelatesTo>uuid:MsgIdOfTheSubscribe</wsa:RelatesTo>
</soap:Header>
<soap:Body>
<wse:SubscribeResponse>
<wse:SubscriptionManager>
<!-- Elements removed for clarity -->
</wse:SubscriptionManager>
<wse:Expires>P0Y0M0DT30H0M0S</wse:Expires>
<wscn:DestinationResponses>
<wscn:DestinationResponse>
<wscn:ClientContext>App1ScanID2345</wscn:ClientContext>
<wscn:DestinationToken>Client3478</wscn:DestinationToken>
</wscn:DestinationResponse>
</wscn:DestinationResponses>
</wse:SubscribeResponse>
</soap:Body
</soap:Envelope>
En el ejemplo de código siguiente se muestra cómo el servicio de examen de WSD envía un ScanAvailableEvent a un cliente.
<soap:Envelope
xmlns:soap="https://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wse="https://schemas.xmlsoap.org/ws/2004/08/eventing"
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>AddressofEventSink</wsa:To>
<wsa:Action>
https://schemas.microsoft.com/windows/2006/01/wdp/scan/ScanAvailableEvent
</wsa:Action>
<wsa:MessageID>uuid:UniqueMsgId</wsa:MessageID>
</soap:Header>
<soap:Body>
<wscn:ScanAvailableEvent>
<wscn:ClientContext>App1ScanID2345</wscn:ClientContext>
<wscn:ScanIdentifier>AnyUniqueIdentifierSuchAsAGUID</wscn:ScanIdentifier>
</wscn:ScanAvailableEvent>
</soap:Body
</soap:Envelope>