Web Services for Devices Install: Printers & Scanners

Slides:



Advertisements
Similar presentations
Microsoft Standard TCP/IP Port Monitor Futures
Advertisements

February 19, BMLinkS Overview for PWG BMLinkS Overview for PWG Members 1. BMLinkS Goals 2. Specifications 1. Discovery 2. Job/Device Control 3.
Pharos Uniprint 8.3.
Module 3 Configuring Hardware on a Computer Running Windows XP Professional.
Discovering Computers Fundamentals, Third Edition CGS 1000 Introduction to Computers and Technology Fall 2006.
Riso Digital Education Center Appendix for SRC Training Basic Course 1.
By Rashid Khan Lesson 7-Preparing for Output: Printer Configuration and Management.
70-270, MCSE/MCSA Guide to Installing and Managing Microsoft Windows XP Professional and Windows Server 2003 Chapter Ten Implementing and Managing.
9.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 9: Installing and Configuring.
Network Printing. Printer sharing Saves money by only needing one printer Increases efficiency of managing resources.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 12: Network Printing and Offline Files.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Hands-On Microsoft Windows Server 2003 Administration Chapter 6 Managing Printers, Publishing, Auditing, and Desk Resources.
A+ Guide to Software, 4e Chapter 11 Supporting Printers and Scanners.
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
Configuring Print Services Lesson 7. Skills Matrix Technology SkillObjective DomainObjective # Deploying a Print ServerConfigure and monitor print services.
Printing Terminology. Requirements for Network Printing At least one computer to operate as the print server Sufficient RAM to process documents Sufficient.
CN1260 Client Operating System Kemtis Kunanuraksapong MSIS with Distinction MCT, MCITP, MCTS, MCDST, MCP, A+
Guide to MCSE , Second Edition, Enhanced1 Objectives Understand Windows XP print terminology and architecture Work with the Windows XP print subsystem.
Windows Server 2008 Chapter 6 Last Update
9.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 9: Installing and Configuring.
Guide to MCSE , Second Edition, Enhanced 1 Objectives Understand and use the Control Panel applets Describe the versatility of the Microsoft Management.
Working with Drivers and Printers Lesson 6. Skills Matrix Technology SkillObjective DomainObjective # Understanding Drivers and Devices Install and configure.
Overview Print and Document Services Print Management console Printer properties Troubleshooting.
Hands-On Microsoft Windows Server 2008
Module 4: Add Client Computers and Devices to the Network.
MEAP Applications.
CH 6 Configuring Server Hardware and power options.
Chapter 6 Configuring Windows Server 2008 Printing
IOS110 Introduction to Operating Systems using Windows Session 9 1.
University of Management & Technology 1 Operating Systems & Utility Programs.
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
Device And PC Integration With Discovery, Plug And Play, Publication, And Network Explorer Roland Ayala, Cameron Brodeur, and Aaron Cunningham Program.
Network Management Tool Amy Auburger. 2 Product Overview Made by Ipswitch Affordable alternative to expensive & complicated Network Management Systems.
Module 3: Configuring Hardware on a Computer Running Windows XP Professional.
Web Services On Devices In Windows Vista Dave Roth Program Manager Windows Device Experience Group Microsoft Corporation.
11 WORKING WITH PRINTERS Chapter 10. Chapter 10: WORKING WITH PRINTERS2 TERMINOLOGY PrinterLogical object Print DevicePhysical object Printer DriversSoftware.
Stuff By Zach and Turtle To designate a default printer, choose Start > Control Panel > Printers and Faxes. Right-click the printer, and then.
Plug And Play For Network Connected Devices Cameron Brodeur and Kristina Hotz Program Managers Windows Device Experience Group Microsoft Corporation.
11 INSTALLING AND MANAGING HARDWARE Chapter 6. Chapter 6: Installing and Managing Hardware2 INSTALLING AND MANAGING HARDWARE  Install hardware in a Microsoft.
PCs and Devices in Windows 7: What You Need to Know Cameron Brodeur Program Manager Device Foundation Platform Adam Lenart Software.
11 WORKING WITH PRINTERS Chapter 10. Chapter 10: WORKING WITH PRINTERS2 THE WINDOWS SERVER 2003 PRINTER MODEL  Locally attached printers Printers that.
Jini Architecture Introduction System Overview An Example.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
IT1001 – Personal Computer Hardware & System Operations Week5- Installation and configuration of driver software.
1 Terminology. 2 Requirements for Network Printing Print server Sufficient RAM to process documents Sufficient disk space on the print server.
Ⅰ. PS Driver ML-4050N Series PostScript, Driver ML-4050N Series PostScript, Driver.
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
Configuring Print Services Lesson 7. Print Sharing Print device sharing is another one of the most basic applications for which local area networks were.
Hands-On Microsoft Windows Server 2008 Chapter 6 Configuring Windows Server 2008 Printing.
OPERATING SYSTEM REVIEW. System Software The programs that control and maintain the operation of the computer and its devices The two parts of system.
1 Major Printer Administration Tasks Managing printers Managing documents Troubleshooting printers Performing tasks requiring the Manage Printers permission.
Managing Windows Devices
Peer 2 Peer & Client Server
Building a great Metro style device app for your printer
Printers.
Plug And Play For Network Connected Devices
Network Connected Devices
Made by Aistė Augustinaitė Software Engineering 3 group
Getting Started.
Tiers vs. Layers.
Getting Started.
Chapter 11 Supporting Printers and Scanners
Microsoft Standard TCP/IP Port Monitor Futures
Presentation transcript:

Web Services for Devices Install: Printers & Scanners Mike Fenelon Software Developer Digital Documents, Platform and Solutions Team MFenelon @ microsoft.com Microsoft Corporation

Printing with Web Services for Devices

Printer Installation Step-By-Step Spooler PnP-Printer Class Installer WSD Port Monitor 1 8 8 11 11 Function Discovery (FD) Print Device PDO 9 9 7 4 4 3 7 Print Service FDO WS-Discovery Provider IPBusEnumerator 6 6 5 5 2 10 User-Mode Enabled Bus Enumerator (UMBus)

Step 1- WSD Port Monitor Initialization Spooler starts up WSD Port Monitor (WSDMon) queries FD for all existing WSD print devices and creates the appropriate ports Any new devices found while the spooler wasn’t running will also kick off PnP installation for the Print Object (Step 9) WSDMon will also register for notifications on the correct FD category to receive future device notifications Spooler WSD Port Monitor 1 Function Discovery (FD)

Steps 2 & 3 – Printer Announcement and Discovery Printer announces presence on the network by a WS-Discovery “Hello” message or responds to a Probe message from user opening Computers & Devices WS-Discovery provider recognizes the device and publishes it to Function Discovery (FD) Device Instance in FD contains all the basic device Metadata Device enabled for install if it contains PnP-X related metadata Function Discovery (FD) 3 WS-Discovery Provider 2

Steps 4 & 5 – Notification from FD and Devnode Creation From Within Computers & Devices the User adds/installs discovered device to Association Database IPBusEnum gets a notification of the newly associated Network Device IPBusEnum reads data from the new instance and uses the COM interface to the User-Mode Enabled Bus Enumerator (UMBus) to tell UMBus to create a new WS Print Service DevNode Function Discovery (FD) 4 IPBusEnumerator 5 User-Mode Enabled Bus Enumerator (UMBus)

Step 6 – Create Printer Service Devnode UMBus creates a File Device Object (FDO) for the WS-based Printer Service This FDO has a HardwareID & CompatibleId based on data from the Device Relationship Metadata <pnpx:HardwareId> <pnpx:CompatibleId> Scan Service FDO 6 User-Mode Enabled Bus Enumerator (UMBus)

Steps 7 & 8 – Print Service PnP Notification to FD and WSDMon FD gets PnP notification of the new WS-Printer Service device object FD adds device to the correct category/subcategory and creates notification which is picked up by WSDMon Spooler WSD Port Monitor 8 Function Discovery (FD) 7 Print Service FDO

User-Mode Enabled Bus Enumerator (UMBus) Step 9 – GetMetadata WSDMon activates the WS PrintProxy via the FD function instance and gets needed information from the device Uses GetMetadata calls or Print Service methods Gets device 1284 ID and determines port name WSDMon calls UMBus with info needed to create a Print Device Physical Device Object (PDO) in RAW mode This gets PnP started installing the Print Object in the spooler (Printers and Faxes folder) Spooler WSD Port Monitor 9 User-Mode Enabled Bus Enumerator (UMBus)

Steps 10 & 11 – PDO Creation and Driver Install UMBus creates a Print Device PDO This PDO contains the Hardware ID, PortName, PrinterName, Location and comment field of the associated printer PnP searches installed INFs to find an INF that matches If no INF is found the Found New Hardware Wizard (FNHM) starts If an INF is found (or selected in the FNHW) PnP invokes the associated class installer, in this case the Printer Class Installer Install continues just like local PnP using the supplied information from the Print Device PDO to complete the installation PnP-Printer Class Installer 11 Print Device PDO 10 User-Mode Enabled Bus Enumerator (UMBus)

Printing Operation Step By Step Driver B WSD Port Monitor D C App E F G Spooler Queue View

Step A & B – Driver Initialization Bi-di enabled Driver queries device for configuration Driver uses Bi-di schema to request device configuration WSD Port Monitor uses GetPrinterElements operation to retrieve data from printer WSDMon converts XML data to Bi-di Schema responses A WSD Port Monitor B

Step C – Application prints a document Application uses DevCaps to get accurate device capabilities Application formats the document based on current device capabilities Application begins rendering the document App C WSD Port Monitor

Step D & E – WSD Port Monitor prints a document WSDMon sends CreatePrintJob operation to prepare device for print data CreatePrintJob response contains device JobID On first WritePort call WSDMon creates SendDocument opreation Device JobID and Job data transferred as part of SendDocument operation using MTOM WSD Port Monitor D E

Step F & G – JobEndState Event and Rich Status Printer send JobEndState event when the print job finishes WSD Port Monitor creates Rich Status notification based on information in the event Job Status in Queue View is updated after SetJob call Queue View F WSD Port Monitor G

Scanning with Web Services for Devices

Scanner Installation Step By Step WIA Service WSD Scan Driver 1 Function Discovery (FD) 8 4 4 3 WS-Discovery Provider Scan Service FDO IPBusEnumerator 6 6 5 5 2 User-Mode Enabled Bus Enumerator (UMBus)

Step 1 – WIA Service and Scan Class Driver Initialization WIA Service starts up or User starts a WIA application WIA Service queries PnP for all existing Scan devices and creates the appropriate objects (Step 8) WIA Service WSD Scan Driver 1 Function Discovery (FD)

Steps 2 & 3 – Scanner Announcement and Discovery Scanner announces presence on the network by a WS-Discovery “Hello” message or responds to a Probe message from user opening Computers & Devices WS-Discovery provider recognizes the device and publishes it to Function Discovery (FD) Device Instance in FD contains all the basic device Metadata Device enabled for install if it contains PnP-X related metadata Function Discovery (FD) 3 WS-Discovery Provider 2

Steps 4 & 5 – Notification from FD and Devnode Creation From Within Computers & Devices the User adds/installs discovered device to Association Database IPBusEnum gets a notification of the newly associated Network Device IPBusEnum reads data from the new instance and uses the COM interface to the User-Mode Enabled Bus Enumerator (UMBus) to tell UMBus to create a new WS Print Service DevNode Function Discovery (FD) 4 IPBusEnumerator 5 User-Mode Enabled Bus Enumerator (UMBus)

Steps 6 – Create Scanner Service Devnode UMBus creates a File Device Object (FDO) for the WS-based Scanner Service This FDO has a HardwareID & CompatibleId based on data from the Device Relationship Metadata <pnpx:HardwareId> <pnpx:CompatibleId> Scan Service FDO 6 User-Mode Enabled Bus Enumerator (UMBus)

Step 7 – PnP Notification and WSD Scan Driver Object Initialization WIA Service gets PnP notification of the new WS-Scanner Service device object WIA creates a unique identifier for the device WSD Scan Driver instance is loaded for the new scanner Scan Service Function Instance is activated and the ScanProxy DLL is loaded Scanner installation is complete! WIA Service WSD Scan Driver 7 Scan Service FDO

Scanning Operation in the Home - Step By Step WSD Scan Driver C B D WIA Service

Step A – PC Registers with Scanner At scan object creation the PC creates scan destination(s) in the scan device Assigns device a unique identifier Subscribes for ScanAvailableEvent with wscn:ScanDestinations extension operation to set display name for current PC Receives scan context from device WIA Service WSD Scan Driver A

Steps B & C – User Initiates Scan User selects destination from device display panel User presses scan button Device sends a ScanAvailableEvent to selected PC Event contains scanner identifier and scan context WIA Service WSD Scan Driver C Note: this could also be initiated from an application on the PC if scanner doesn’t have LCD or multi-PC capability B

Step D – Client Scans From Device Client uses CreateScanJob & RetreiveImage operations to initiate scan and retrieve scan data Scan ticket in CreateScanJob operation contains desired scanning parameters Scan data is retrieved as part of the RetrieveImage operation response in any form using MTOM WIA Service WSD Scan Driver D

XML Messages for Printing

GetPrinterElements Request Example <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wprt="http://schemas.microsoft.com/windows/2005/05/wdp/print"> <SOAP:Header> <wsa:Action> http://schemas.microsoft.com/windows/2005/05/wdp/print/GetPrinterElements </wsa:Action> --- Header removed for Brevity --- </SOAP:Header <SOAP:Body> <wprt:GetPrinterElementsRequest> <wprt:RequestedElements> <wprt:Name>wprt:PrinterConfiguration</wprt:Name> </wprt:RequestedElements> </wprt:GetPrinterElementsRequest > </SOAP:Body> </SOAP:Envelope>

GetPrinterElements Response Example <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wprt="http://schemas.microsoft.com/windows/2005/05/wdp/print"> <SOAP:Header> <wsa:Action> http://schemas.microsoft.com/windows/2005/05/wdp/print/GetPrinterElementsResponse </wsa:Action> --- Header removed for Brevity --- </SOAP:Header <SOAP:Body> <wprt:GetPrinterElementsResponse> . </wprt:GetPrinterElementsResponse> </SOAP:Body> </SOAP:Envelope>

CreatePrintJob Request Example <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wprt="http://schemas.microsoft.com/windows/2005/05/wdp/print"> <SOAP:Header> <wsa:Action> http://schemas.microsoft.com/windows/2005/05/wdp/print/CreatePrintJob </wsa:Action> --- Header removed for Brevity --- </SOAP:Header <SOAP:Body> <wprt:CreatePrintJobRequest> . </wprt:CreatePrintJobRequest> </SOAP:Body> </SOAP:Envelope>

CreatePrintJob Response Example <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wprt="http://schemas.microsoft.com/windows/2005/05/wdp/print"> <SOAP:Header> <wsa:Action> http://schemas.microsoft.com/windows/2005/05/wdp/print/CreatePrintJobResponse </wsa:Action> --- Header removed for Brevity --- </SOAP:Header <SOAP:Body> <wprt:CreatePrintJobResponse> . </wprt:CreatePrintJobResponse> </SOAP:Body> </SOAP:Envelope>

SendDocument Request Example mime-version: 1.0 Content-Type: multipart/related; type=application/xop+xml; boundary=“--=_NextPart_123_321_0000000.3E9F5D”; start=”<OperationRequest>”; startinfo=application/soap+xml ----=_NextPart_123_321_0000000.3E9F5D Content-Type: application/xop+xml; type=application/soap_xop+xml charset=UTF-8 Content-Transfer-Encoding: binary Content-ID: <OperationRequest> <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2004/08/devprof" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wprt="http://schemas.microsoft.com/windows/2005/05/wdp/print" xmlns:xmlmime=’http://www.w3.org/2004/11/xmlmime’ xmlns:xop=’http://www.w3.org/2004/08/xop/include’ soap:encodingStyle='http://www.w3.org/2002/12/soap-encoding' > <soap:Header> <wsa:To>uuid:DeviceUUID</wsa:To> <wsdp:ServiceId>uri:IdofThisService</wsdp:ServiceId> <wsa:Action> http://schemas.microsoft.com/windows/2005/05/wdp/print/SendDocument </wsa:Action> <wsa:MessageID>uuid:UniqueMsgId</wsa:MessageID> </soap:Header>

SendDocument Request Example (cont.) <soap:Body> <wprt:SendDocumentRequest> <wprt:JobId>IdFromCreateJobRequest</wprt:JobId> <wprt:DocumentDescription> <wprt:DocumentId>DocIdNumber</wprt:DocumentId> <wprt:Compression>None</wprt:Compression> <wprt:DocumentFormat> application/octet-stream</wprt:DocumentFormat> <wprt:DocumentName>Example.xml</wprt:DocumentName> </wprt:DocumentDescription> <wprt:LastDocument>true</wprt:LastDocument> <wprt:DocumentData xmlmime:contentType=”application/postscript”> <xop:Include href=”cid:000001” /> </wprt:DocumentData> </wprt:SendDocumentRequest> </soap:Body> </soap:Envelope> ----=_NextPart_123_321_0000000.3E9F5D Content-Type: application/postscript; Content-Transfer-Encoding: binary Content-ID: <000001> Document PDL Data ----=_NextPart_123_321_0000000.3E9F5D--

SendDocument Response Example <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wprt="http://schemas.microsoft.com/windows/2005/05/wdp/print"> <SOAP:Header> <wsa:Action> http://schemas.microsoft.com/windows/2005/05/wdp/print/SendDocumentResponse </wsa:Action> --- Header removed for Brevity --- </SOAP:Header <SOAP:Body> <wprt:SendDocumentResponse/> </SOAP:Body> </SOAP:Envelope>

XML Messages for Scanning

Subscribe Request Example <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2005/05/devprof" xmlns:wscn="http://schemas.microsoft.com/windows/2005/08/wdp/scan"> <soap:Header> <wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe</wsa:Action> <wsdp:ServiceId>uri:scn</wsdp:ServiceId> --- Headers removed for Brevity --- </soap:Header> <soap:Body> <wse:Subscribe> <wse:Delivery Mode="http://schemas.xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push"> <wse:NotifyTo> <wsa:Address> http://157.56.92.87:5357/872b563f-2832-49eb-8e80-a721fe7a7fd9 </wsa:Address> </wse:NotifyTo> </wse:Delivery> <wse:Expires>PT10M</wse:Expires> <wse:Filter Dialect="http://schemas.xmlsoap.org/ws/2005/05/devprof/Action"> http://schemas.microsoft.com/windows/2005/08/wdp/scan/ScanAvailableEvent </wse:Filter> <wscn:ScanDestinations> <wscn:ScanDestination> <wscn:ClientDisplayName>Scan to MFenelon2L</wscn:ClientDisplayName> <wscn:ClientContext>Scan</wscn:ClientContext> </wscn:ScanDestination> <wscn:ClientDisplayName>Scan for Print to MFenelon2L</wscn:ClientDisplayName> <wscn:ClientContext>ScanToPrint</wscn:ClientContext> </wscn:ScanDestinations> </wse:Subscribe> </soap:Body> </soap:Envelope>

Subscribe (ScanAvailableEvent) Response Example <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2005/05/devprof" xmlns:wscn="http://schemas.microsoft.com/windows/2005/08/wdp/scan"> <soap:Header> <wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/eventing/SubscribeResponse</wsa:Action> --- Headers removed for Brevity --- </soap:Header> <soap:Body> <wse:SubscribeResponse> <wse:SubscriptionManager> <wsa:Address>http://157.56.88.113:80/TestDevice</wsa:Address> <wsa:ReferenceProperties> <wsdp:ServiceId>uri:scn</wsdp:ServiceId> <wse:Identifier>uuid:0c27676b-e507-4837-9512-49d64640991d</wse:Identifier> </wsa:ReferenceProperties> </wse:SubscriptionManager> <wse:Expires>PT9M59.9531289S</wse:Expires> <wscn:DestinationResponses> <wscn:DestinationResponse> <wscn:ClientContext>Scan</wscn:ClientContext> <wscn:DestinationToken>113527a8-0908-4222-bd6c-9c95d302c454</wscn:DestinationToken> </wscn:DestinationResponse> <wscn:ClientContext>ScanToPrint</wscn:ClientContext> <wscn:DestinationToken>6fcbbc0f-c035-41ca-a912-f6961a2e2257</wscn:DestinationToken> </wscn:DestinationResponses> </wse:SubscribeResponse> </soap:Body> </soap:Envelope>

ScanAvailableEvent Example <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wscn="http://schemas.microsoft.com/windows/2005/08/wdp/scan"> <soap:Header> <wsa:To> http://157.56.92.87:5357/872b563f-2832-49eb-8e80-a721fe7a7fd9 </wsa:To> <wsa:Action> http://schemas.microsoft.com/windows/2005/08/wdp/scan/ScanAvailableEvent </wsa:Action> </soap:Header> <soap:Body> <wscn:ScanAvailableEvent> <wscn:ClientContext>Scan</wscn:ClientContext> <wscn:ScanIdentifier> a74dc73c-34b6-4e99-a724-c006f4625b68 </wscn:ScanIdentifier> </wscn:ScanAvailableEvent> </soap:Body> </soap:Envelope>

CreateScanJob Request Example <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2005/05/devprof" xmlns:wscn="http://schemas.microsoft.com/windows/2005/08/wdp/scan"> <soap:Header> <wsa:To>http://157.56.88.113:80/TestDevice</wsa:To> <wsa:Action> http://schemas.microsoft.com/windows/2005/08/wdp/scan/CreateScanJob </wsa:Action> <wsdp:ServiceId>uri:scn</wsdp:ServiceId> --- Headers removed for Brevity --- </soap:Header> <soap:Body> <wscn:CreateScanJobRequest> <wscn:ScanIdentifier> a74dc73c-34b6-4e99-a724-c006f4625b68</wscn:ScanIdentifier> <wscn:DestinationToken> 113527a8-0908-4222-bd6c-9c95d302c454</wscn:DestinationToken> <wscn:ScanTicket> <wscn:JobDescription> <wscn:JobName>GetImage from ScanAvailableEvent</wscn:JobName> <wscn:JobOriginatingUserName> MFenelon</wscn:JobOriginatingUserName> <wscn:JobInformation>Scanning from platen..</wscn:JobInformation> </wscn:JobDescription>

CreateScanJob Request Example (Cont.) <wscn:DocumentParameters> <wscn:Format>exif</wscn:Format> <wscn:ImagesToTransfer>1</wscn:ImagesToTransfer> <wscn:InputSource>Platen</wscn:InputSource> <wscn:InputSize> <wscn:InputMediaSize> <wscn:Width>1000</wscn:Width> <wscn:Height>1000</wscn:Height> </wscn:InputMediaSize> </wscn:InputSize> <wscn:Rotation>0</wscn:Rotation> <wscn:MediaSides> <wscn:MediaFront> <wscn:ColorProcessing>RGB24</wscn:ColorProcessing> <wscn:Resolution> <wscn:Width>200</wscn:Width> </wscn:Resolution> </wscn:MediaFront> </wscn:MediaSides> </wscn:DocumentParameters> </wscn:ScanTicket> </wscn:CreateScanJobRequest> </soap:Body> </soap:Envelope>

CreateScanJob Response Example <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdisco="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2005/05/devprof" xmlns:wscn="http://schemas.microsoft.com/windows/2005/08/wdp/scan"> <soap:Header> <wsa:Action> http://schemas.microsoft.com/windows/2005/08/wdp/scan/CreateScanJobResponse </wsa:Action> --- Headers removed for Brevity --- </soap:Header> <soap:Body> <wscn:CreateScanJobResponse> <wscn:JobId>1</wscn:JobId> <wscn:JobToken>b5838c21-63a1-4e99-a724-b459218cae7f</wscn:JobToken> <wscn:ImageInformaiton> . </wscn:ImageInformation> <wscn:DocumentFinalParameters> </wscn:DocumentFinalParameters> </wscn:CreateScanJobResponse> </soap:Body> </soap:Envelope>

RetrieveImage Request Example <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2005/05/devprof" xmlns:wscn="http://schemas.microsoft.com/windows/2005/08/wdp/scan"> <soap:Header> <wsa:Action> http://schemas.microsoft.com/windows/2005/08/wdp/scan/RetrieveImage </wsa:Action> <wsdp:ServiceId>uri:scn</wsdp:ServiceId> --- Headers removed for Brevity --- </soap:Header> <soap:Body> <wscn:RetrieveImageRequest> <wscn:JobId>1</wscn:JobId> <wscn:JobToken>b5838c21-63a1-4e99-a724-b459218cae7f</wscn:JobToken> <wscn:DocumentDescription> <wscn:DocumentName>ScannedImage001.JPG</wscn:DocumentName> </wscn:DocumentDescription> </wscn:RetrieveImageRequest> </soap:Body> </soap:Envelope>

RetrieveImage Response Example Content-Type: multipart/related; boundary=4aa7d814-adc1-47a2-8e1c-07585b9892a4; type="application/xop+xml"; start="<14629f74-2047-436c-8046-5cac76d280fc@uuid>"; start-info=application/soap+xml; charset="utf-8” mime-version: 1.0 --4aa7d814-adc1-47a2-8e1c-07585b9892a4 content-type: application/xop+xml; type="application/soap+xml"; charset="utf-8" content-transfer-encoding: binary content-id: <14629f74-2047-436c-8046-5cac76d280fc@uuid> <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wscn="http://schemas.microsoft.com/windows/2005/08/wdp/scan"> <soap:Header> <wsa:Action> http://schemas.microsoft.com/windows/2005/08/wdp/scan/RetrieveImageResponse </wsa:Action> </soap:Header> <soap:Body> <wscn:RetrieveImageResponse>

RetrieveImage Response Example (Cont.) <wscn:ScanData> <XOP:Include xmlns:XOP="http://www.w3.org/2004/08/xop/include" href="cid:1c696bd7-005a-48d9-9ee9-9adca11f8892@uuid"/> </wscn:ScanData> </wscn:RetrieveImageResponse> </soap:Body> </soap:Envelope> --4aa7d814-adc1-47a2-8e1c-07585b9892a4 content-type: application/dib content-transfer-encoding: binary content-id: <1c696bd7-005a-48d9-9ee9-9adca11f8892@uuid> ....Binary Image data for Scan..... --4aa7d814-adc1-47a2-8e1c-07585b9892a4--