Elemento ScanAvailableEvent
L'elemento ScanAvailableEvent richiesto informa un client che un dispositivo di analisi a cui è stato sottoscritto il client è pronto per l'analisi di un processo.
Utilizzo
<wscn:ScanAvailableEvent>
child elements
</wscn:ScanAvailableEvent>
Attributi
Non ci sono attributi.
Elementi figlio
Elemento |
---|
ClientContext |
ScanIdentifier |
Elementi padre
Non ci sono elementi padre.
Commenti
Il servizio di analisi WSD invia un elemento ScanAvailableEvent a un client registrato quando un utente ha selezionato una destinazione di analisi e ha avviato un'analisi nel dispositivo di analisi.
Un client deve creare una sottoscrizione con il servizio di analisi WSD per ricevere gli eventi ScanAvailableEvent . Il client crea una sottoscrizione inviando un messaggio di richiesta al servizio di analisi tramite l'elemento dell'operazione <di richiesta wse:Subscribe> .
La richiesta di sottoscrizione contiene una o più destinazioni nell'elemento di estensione ScanDestinations . Il servizio di analisi userà queste destinazioni per filtrare in base a un singolo client ogni volta che invia una notifica ScanAvailableEvent . Questo filtro impedisce al servizio di analisi di notificare a ogni client quando un utente preme il pulsante di analisi. Gli elementi di estensione vengono definiti nello spazio dei nomi WSD Scan Service e quindi aggiunti al corpo della <richiesta wse:Subscribe> .
Se il servizio analisi WSD accetta la richiesta del client di creare una sottoscrizione, il servizio deve rispondere con un elemento dell'operazione di risposta wse:SubscribeResponse>.< La risposta di sottoscrizione contiene una o più risposte di destinazione nell'elemento di estensione DestinationResponses , che consente di connettere la sottoscrizione al dispositivo di analisi che l'ha accettata.
Gli <elementi wse:Subscribe> e <wse:SubscribeResponse> sono descritti nella specifica.
Esempio
Nell'esempio di codice seguente viene illustrato come un client sottoscrive la ricezione di eventi ScanAvailableEvent dal servizio di analisi 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>
L'esempio di codice seguente mostra la risposta del servizio di analisi WSD alla richiesta di sottoscrizione di un client.
<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>
Nell'esempio di codice seguente viene illustrato come il servizio di analisi WSD invia un evento ScanAvailableEvent a un client.
<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>