Élément ScanAvailableEvent
L’élément ScanAvailableEvent requis informe un client qu’un appareil d’analyse auquel le client est abonné est prêt à analyser un travail.
Utilisation
<wscn:ScanAvailableEvent>
child elements
</wscn:ScanAvailableEvent>
Attributs
Il n’y a pas d’attributs.
Éléments enfants
Élément |
---|
ClientContext |
ScanIdentifier |
Éléments parents
Il n’y a pas d’éléments parents.
Remarques
Le service d’analyse WSD envoie un élément ScanAvailableEvent à un client inscrit lorsqu’un utilisateur a sélectionné une destination d’analyse et lancé une analyse sur le périphérique d’analyse.
Un client doit créer un abonnement avec le service d’analyse WSD pour recevoir les événements ScanAvailableEvent . Le client crée un abonnement en envoyant un message de demande au service d’analyse via l’élément d’opération de requête wse :Subscribe>.<
La demande d’abonnement contient une ou plusieurs destinations dans l’élément d’extension ScanDestinations . Le service d’analyse utilise ces destinations pour filtrer jusqu’à un client unique chaque fois qu’il envoie une notification ScanAvailableEvent . Ce filtre empêche le service d’analyse de notifier chaque client lorsqu’un utilisateur appuie sur le bouton d’analyse. Les éléments d’extension sont définis dans l’espace de noms WSD Scan Service, puis ajoutés au corps de la <demande wse :Subscribe> .
Si le service d’analyse WSD accepte la demande du client de créer un abonnement, le service doit répondre avec un élément d’opération de réponse wse :SubscribeResponse>.< La réponse d’abonnement contient une ou plusieurs réponses de destination dans l’élément d’extension DestinationResponses , ce qui permet de connecter l’abonnement à l’appareil d’analyse qui l’a accepté.
Les <éléments wse :Subscribe> et <wse :SubscribeResponse> sont décrits dans la spécification.
Exemples
L’exemple de code suivant montre comment un client s’abonne pour recevoir des événements ScanAvailableEvent du service d’analyse 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’exemple de code suivant montre la réponse du service d’analyse WSD à la demande d’abonnement d’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>
L’exemple de code suivant montre comment le service d’analyse WSD envoie un ScanAvailableEvent à 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>