Hi, I created web service using a following wdsl : https://msdn.microsoft.com/en-us/library/windows/hardware/dn641604(v=vs.85).aspx see the download of the "Print Device Definition V1.0 for Web Services on Devices". Unfortunately my service is not recognized by Add Printer functionality of the Windows. I can see that the Probe message is received by my Service and ProbeMatches is send back. The ProbeMatches from my Service has the following form: ========== <?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:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2006/02/devprof" xmlns:pub="http://schemas.microsoft.com/windows/pub/2005/07"> <soap:Header><wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To> <wsa:Action>http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches</wsa:Action> <wsa:MessageID>urn:uuid:7cf94c9c-94da-42ab-bd35-715dda4d0ef5</wsa:MessageID> <wsa:RelatesTo>urn:uuid:aa477c64-0970-4998-907d-1e31ffa38c9f</wsa:RelatesTo> <wsd:AppSequence InstanceId="525" SequenceId="urn:uuid:778cd1fd-e831-4022-b7bd-e832b4131a17" MessageNumber="182"> </wsd:AppSequence></soap:Header> <soap:Body><wsd:ProbeMatches> <wsd:ProbeMatch> <wsa:EndpointReference> <wsa:Address>urn:uuid:e4a36761-9476-431a-8d22-7b637e008118</wsa:Address> </wsa:EndpointReference><wsd:Types>wsdp:Device pub:Computer</wsd:Types> <wsd:XAddrs>http://[fe80::f144:e5c7:6b9d:4e6d]:5357/e4a36761-9476-431a-8d22-7b637e008118/</wsd:XAddrs> <wsd:MetadataVersion>3</wsd:MetadataVersion></wsd:ProbeMatch></wsd:ProbeMatches> </soap:Body></soap:Envelope> ===========
The ProbeMatches expected by Add Printer has the form: ========== <?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:wsdisco="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsdp=”http://schemas.xmlsoap.org/ws/2006/02/devprof” xmlns:wprt="http://schemas.microsoft.com/windows/2006/08/wdp/print"> <soap:Header> <wsa:MessageID>urn:uuid:147823ee-83f7-498c-8c1b-6272a22353f7</wsa:MessageID> <wsa:RelatesTo>urn:uuid:0a6dc791-2be6-4991-9af1-454778a1917a</wsa:RelatesTo> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches </wsa:Action> <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To> <wsdisco:AppSequence InstanceId="3094203799" MessageNumber="2" /> </soap:Header> <soap:Body> <wsdisco:ProbeMatches> <wsdisco:ProbeMatch> <wsa:EndpointReference> <wsa:Address>uuid:D10000D1-ca45-5fee-a376-112233445555</wsa:Address> </wsa:EndpointReference> <wsdisco:Types>wsdp:Device wprt:PrintDeviceType</wsdisco:Types> <wsdisco:XAddrs>http://IPAddress:80/TestDevice</wsdisco:XAddrs> <wsdisco:MetadataVersion>1</wsdisco:MetadataVersion> </wsdisco:ProbeMatch> </wsdisco:ProbeMatches> </soap:Body> </soap:Envelope> ============ As you can see the expected Types is: <wsdisco:Types>wsdp:Device wprt:PrintDeviceType</wsdisco:Types> the one my service provides is: <wsd:Types>wsdp:Device pub:Computer</wsd:Types> as well the address is expected in the form: <wsdisco:XAddrs>http://IPAddress:80/TestDevice</wsdisco:XAddrs> and the one provided by my service is: <wsd:XAddrs>http://[fe80::f144:e5c7:6b9d:4e6d]:5357/e4a36761-9476-431a-8d22-7b637e008118/</wsd:XAddrs> the part [fe80::f144:e5c7:6b9d:4e6d]:5357 is IPv6 address of my computer (do not have any idea why the ipv6 form is used instead of ipv4 . Why the real url was changed to /e4a36761-9476-431a-8d22-7b637e008118/. My question is how can I change the <wsdisco:Types> with pub:Computer into wprt:PrintDeviceType ? Do I have any way to change it ? Where the xmlns:pub="http://schemas.microsoft.com/windows/pub/2005/07" attribute comes from , I do not have it in my wsdl. Here's the wsdl used: =============== <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsoap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2006/02/devprof" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wprt="http://schemas.microsoft.com/windows/2006/08/wdp/print" targetNamespace="http://schemas.microsoft.com/windows/2006/08/wdp/print" name="WSDPrinterService"> <xs:annotation> <xs:documentation> WSD Printer Service Web Service Description (WSDL) file Copyright 2005-2006 Microsoft Corporation. All rights reserved </xs:documentation> </xs:annotation> <wsp:Policy wsu:Id="ServicePolicy"> <wsdp:Profile /> </wsp:Policy> <types> <xs:schema targetNamespace="http://schemas.microsoft.com/windows/2006/08/wdp/print"> <xs:include schemaLocation="WDPPrint.xsd"/> </xs:schema> </types> <message name="CreatePrintJobRequestMsg"> <part name="body" element="wprt:CreatePrintJobRequest"/> </message> <message name="CreatePrintJobResponseMsg"> <part name="body" element="wprt:CreatePrintJobResponse"/> </message> <message name="SendDocumentRequestMsg"> <part name="body" element="wprt:SendDocumentRequest"/> </message> <message name="SendDocumentResponseMsg"> <part name="body" element="wprt:SendDocumentResponse"/> </message> <message name="AddDocumentRequestMsg"> <part name="body" element="wprt:AddDocumentRequest"/> </message> <message name="AddDocumentResponseMsg"> <part name="body" element="wprt:AddDocumentResponse"/> </message> <message name="CancelJobRequestMsg"> <part name="body" element="wprt:CancelJobRequest"/> </message> <message name="CancelJobResponseMsg"> <part name="body" element="wprt:CancelJobResponse"/> </message> <message name="GetPrinterElementsRequestMsg"> <part name="body" element="wprt:GetPrinterElementsRequest"/> </message> <message name="GetPrinterElementsResponseMsg"> <part name="body" element="wprt:GetPrinterElementsResponse"/> </message> <message name="GetJobElementsRequestMsg"> <part name="body" element="wprt:GetJobElementsRequest"/> </message> <message name="GetJobElementsResponseMsg"> <part name="body" element="wprt:GetJobElementsResponse"/> </message> <message name="GetActiveJobsRequestMsg"> <part name="body" element="wprt:GetActiveJobsRequest"/> </message> <message name="GetActiveJobsResponseMsg"> <part name="body" element="wprt:GetActiveJobsResponse"/> </message> <message name="GetJobHistoryRequestMsg"> <part name="body" element="wprt:GetJobHistoryRequest"/> </message> <message name="GetJobHistoryResponseMsg"> <part name="body" element="wprt:GetJobHistoryResponse"/> </message> <message name="SetEventRateRequestMsg"> <part name="body" element="wprt:SetEventRateRequest"/> </message> <message name="SetEventRateResponseMsg"> <part name="body" element="wprt:SetEventRateResponse"/> </message> <message name="PrinterElementsChangeEventMsg"> <part name="body" element="wprt:PrinterElementsChangeEvent"/> </message> <message name="PrinterStatusSummaryEventMsg"> <part name="body" element="wprt:PrinterStatusSummaryEvent"/> </message> <message name="PrinterStatusConditionEventMsg"> <part name="body" element="wprt:PrinterStatusConditionEvent"/> </message> <message name="PrinterStatusConditionClearedEventMsg"> <part name="body" element="wprt:PrinterStatusConditionClearedEvent"/> </message> <message name="JobStatusEventMsg"> <part name="body" element="wprt:JobStatusEvent"/> </message> <message name="JobEndStateEventMsg"> <part name="body" element="wprt:JobEndStateEvent"/> </message> <portType name="PrinterServiceType" wse:EventSource="true" > <operation name="CreatePrintJob"> <input message="wprt:CreatePrintJobRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/CreatePrintJob" /> <output message="wprt:CreatePrintJobResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/CreatePrintJobResponse" /> </operation> <operation name="SendDocument"> <input message="wprt:SendDocumentRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/SendDocument" /> <output message="wprt:SendDocumentResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/SendDocumentResponse" /> </operation> <operation name="AddDocument"> <input message="wprt:AddDocumentRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/AddDocument" /> <output message="wprt:AddDocumentResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/AddDocumentResponse" /> </operation> <operation name="CancelJob"> <input message="wprt:CancelJobRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/CancelJob" /> <output message="wprt:CancelJobResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/CancelJobResponse" /> </operation> <operation name="GetPrinterElements"> <input message="wprt:GetPrinterElementsRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetPrinterElements" /> <output message="wprt:GetPrinterElementsResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetPrinterElementsResponse" /> </operation> <operation name="GetJobElements"> <input message="wprt:GetJobElementsRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetJobElements" /> <output message="wprt:GetJobElementsResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetJobElementsResponse" /> </operation> <operation name="GetActiveJobs"> <input message="wprt:GetActiveJobsRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetActiveJobs" /> <output message="wprt:GetActiveJobsResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetActiveJobsResponse" /> </operation> <operation name="GetJobHistory"> <input message="wprt:GetJobHistoryRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetJobHistory" /> <output message="wprt:GetJobHistoryResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetJobHistoryResponse" /> </operation> <operation name="SetEventRate"> <input message="wprt:SetEventRateRequestMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/SetEventRate" /> <output message="wprt:SetEventRateResponseMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/SetEventRateResponse" /> </operation> <operation name="PrinterElementsChangeEvent"> <output message="wprt:PrinterElementsChangeEventMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterElementsChangeEvent" /> </operation> <operation name="PrinterStatusSummaryEvent"> <output message="wprt:PrinterStatusSummaryEventMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterStatusSummaryEvent" /> </operation> <operation name="PrinterStatusConditionEvent"> <output message="wprt:PrinterStatusConditionEventMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterStatusConditionEvent" /> </operation> <operation name="PrinterStatusConditionClearedEvent"> <output message="wprt:PrinterStatusConditionClearedEventMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterStatusConditionClearedEvent" /> </operation> <operation name="JobStatusEvent"> <output message="wprt:JobStatusEventMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/JobStatusEvent" /> </operation> <operation name="JobEndStateEvent"> <output message="wprt:JobEndStateEventMsg" wsa:Action="http://schemas.microsoft.com/windows/2006/08/wdp/print/JobEndStateEvent" /> </operation> </portType> <binding name="PrinterServiceBinding" type="wprt:PrinterServiceType"> <wsoap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsp:PolicyReference URI="#ServicePolicy" /> <operation name="CreatePrintJob"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/CreatePrintJob" soapActionRequired="true" /> <input> <wsoap12:body use="literal" /> </input> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="SendDocument"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/SendDocument" soapActionRequired="true" /> <input> <wsoap12:body use="literal" /> </input> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="AddDocument"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/AddDocument" soapActionRequired="true" /> <input> <wsoap12:body use="literal" /> </input> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="CancelJob"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/CancelJob" soapActionRequired="true" /> <input> <wsoap12:body use="literal" /> </input> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="GetPrinterElements"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetPrinterElements" soapActionRequired="true" /> <input> <wsoap12:body use="literal" /> </input> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="GetJobElements"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetJobElements" soapActionRequired="true" /> <input> <wsoap12:body use="literal" /> </input> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="GetActiveJobs"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetActiveJobs" soapActionRequired="true" /> <input> <wsoap12:body use="literal" /> </input> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="GetJobHistory"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/GetJobHistory" soapActionRequired="true" /> <input> <wsoap12:body use="literal" /> </input> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="SetEventRate"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/SetEventRate" soapActionRequired="true" /> <input> <wsoap12:body use="literal" /> </input> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="PrinterElementsChangeEvent"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterElementsChangeEvent" soapActionRequired="true" /> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="PrinterStatusSummaryEvent"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterStatusSummaryEvent" soapActionRequired="true" /> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="PrinterStatusConditionEvent"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterStatusConditionEvent" soapActionRequired="true" /> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="PrinterStatusConditionClearedEvent"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterStatusConditionClearedEvent" soapActionRequired="true" /> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="JobStatusEvent"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/JobStatusEvent" soapActionRequired="true" /> <output> <wsoap12:body use="literal" /> </output> </operation> <operation name="JobEndStateEvent"> <wsoap12:operation soapAction="http://schemas.microsoft.com/windows/2006/08/wdp/print/JobEndStateEvent" soapActionRequired="true" /> <output> <wsoap12:body use="literal" /> </output> </operation> </binding> <service name="PrinterService"> <port name="PrinterPort" binding="wprt:PrinterServiceBinding"> <wsoap12:address location="http://localhost/PrinterService/"/> </port> </service> </definitions> -- View this message in context: http://cxf.547215.n5.nabble.com/WS-Discovery-ProbeMatch-how-can-I-change-Types-tp5753457.html Sent from the cxf-user mailing list archive at Nabble.com.
