Hi Elmar,
Even after adding the following as suggested by you onto metadata.xml, still the ProbeMatch seems to have "n1" prefix & thus causing old behavior to still prevail. Please find below the corresponding ProbeMatch response packet from the WSD server,
---
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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:n1="http://schemas.microsoft.com/windows/2006/08/wdp/print"> .<SOAP-ENV:Header> ..<wsa:MessageID SOAP-ENV:mustUnderstand="true">urn:uuid:b78a2d7a-c3bd-4b37-8714-256484850e35</wsa:MessageID> ..<wsa:RelatesTo SOAP-ENV:mustUnderstand="true">urn:uuid:0416b2a3-3279-4544-9a55-3809c3d74999</wsa:RelatesTo> ..<wsa:To SOAP-ENV:mustUnderstand="true">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To> ..<wsa:Action SOAP-ENV:mustUnderstand="true">http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches</wsa:Action> ..<wsd:AppSequence MessageNumber="4" InstanceId="807026"></wsd:AppSequence> .</SOAP-ENV:Header> .<SOAP-ENV:Body> ..<wsd:ProbeMatches> ...<wsd:ProbeMatch> ....<wsa:EndpointReference> .....<wsa:Address>urn:uuid:a2bb3689-62ff-4d13-8da8-82171e0916c3</wsa:Address> .....</wsa:EndpointReference> ....<wsd:Types>n1:Printer wsdp:Device</wsd:Types> ....<wsd:Scopes></wsd:Scopes> ....<wsd:MetadataVersion>807210</wsd:MetadataVersion> ...</wsd:ProbeMatch> ..</wsd:ProbeMatches> .</SOAP-ENV:Body> </SOAP-ENV:Envelope> ---
Could you please let me know your thoughts on this.
Thanks and regards,
Sathya
|
I had added the following change onto metadata.xml (missed to send in my previous mail) |
|
< wdp:Relationship Type="http://schemas.xmlsoap.org/ws/2006/02/devprof/host">
< wdp:Host fixedprefixes="wprt">
< wdp:Types>wprt:Printer</wdp:Types>
< wdp:ServiceId>DPWS-HostingService</wdp:ServiceId>
</ wdp:Host>
< wdp:Hosted fixedprefixes="wprt">
< wdp:Types>wprt:PrinterServiceType</wdp:Types>
< wdp:ServiceId>http://WsdServiceId/1</wdp:ServiceId>
< Name>PrinterService</Name>
< Extension>
<pnpx:CompatibleId xmlns:pnpx=\"http://schemas.microsoft.com/windows/pnpx/2005/10\">http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterServiceType</pnpx:CompatibleId>
</ Extension>
</ wdp:Hosted>
</ wdp:Relationship>
|
| --- On Fri, 4/24/09, sathya sai <sai_e...@yahoo.co.in> wrote: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//gsoap wprt schema namespace:
http://schemas.microsoft.com/windows/2006/08/wdp/print
If there is something other than wprt, then you have to change the
prefix to wprt and search for the old prefix in the file and replace it
with wprt everywhere.
sathya sai schrieb:
> I had added the following change onto metadata.xml (missed to send in
> my previous mail)
>
> <wdp:Relationship
> Type="http://schemas.xmlsoap.org/ws/2006/02/devprof/host">
> <wdp:Host fixedprefixes="wprt">
> <wdp:Types>wprt:Printer</wdp:Types>
> <wdp:ServiceId>DPWS-HostingService</wdp:ServiceId>
> </wdp:Host>
> <wdp:Hosted fixedprefixes="wprt">
> <wdp:Types>wprt:PrinterServiceType</wdp:Types>
> <wdp:ServiceId>http://WsdServiceId/1</wdp:ServiceId>
> <Name>PrinterService</Name>
> <Extension>
> <pnpx:CompatibleId
> xmlns:pnpx=\"http://schemas.microsoft.com/windows/pnpx/2005/10\">http://schemas.microsoft.com/windows/2006/08/wdp/print/PrinterServiceType</pnpx:CompatibleId>
> </Extension>
> </wdp:Hosted>
> </wdp:Relationship>
>
>
> --- On *Fri, 4/24/09, Elmar Zeeb /<elmar...@uni-rostock.de>/* wrote:
>
>
> From: Elmar Zeeb <elmar...@uni-rostock.de>
> Subject: Re: Regarding WS-Policy support on wsdl2h.exe
> To: "sathya sai" <sai_e...@yahoo.co.in>
> Date: Friday, April 24, 2009, 4:09 PM
>
> sathya sai schrieb:
>>
>> Hi Elmar,
>>
>> Thanks a lot for your continuous support towards me..
>>
>> Hope you are busy & you couldn't get a chance to have a look
>> at my previous mail
>>
>> --- On *Fri, 4/24/09, sathya sai /<sai_eshwar@yahoo..co.in>/*
>> --- On *Tue, 4/21/09, Elmar Zeeb
>> /<elmar...@uni-rostock.de>/* wrote:
>>
>>
>> From: Elmar Zeeb <elmar...@uni-rostock.de>
>> Subject: Re: Regarding WS-Policy support on wsdl2h.exe
>> To: "sathya sai" <sai_e...@yahoo.co.in>
>> Date: Tuesday, April 21, 2009, 6:56 PM
>>
>> sathya sai schrieb:
>>>
>>> Hi Elmar,
>>>
>>> Thanks a lot for your continous help towards me on
>>> this. I am really thankful for it.
>>>
>>> Looks like IRC port is disabled here due to some
>>> security constraints . I would somehow try my best
>>> to enable them.
>>>
>>> As suggested by you, I would now start ignoring the
>>> below warnings on WS-Policy framework.
>>>
>>> As mentioned in my previous mail, I am now in the
>>> process of implementing the Microsoft's printer
>>> device specification with the our ws4d-gSoap stack
>>> (http://www.microsoft.com/whdc/connect/rally/rallywsd.mspx
>>> <http://www.microsoft.com/whdc/connect/rally/rallywsd.mspx>),
>>> I could see that Microsoft have provided two WSDL
>>> file, one for PrinterDevice.wsdl & PrintService.wsdl...
>>>
>>> The *PrinterDevice.wsdl* has only the publishes
>>> *PrintDeviceType* device type (mentioned in my below
>>> mail) & *PrintService.wsdl* has all the definitions
>>> of all printer services(such as createjob, startJob...).
>>>
>>> Now how do you suggest me to use these two wsdl
>>> files with our ws4d-gSoap stack ...As I couldn't get
>>> any specific document on this, could you please let
>>> me know your thoughts on the same.
>>>
>>> Meanwhile, this there any user/developer mailing
>>> list for our ws4d-gSoap.
>>>
>> I created two Mailinglists for ws4d-gsoap. See
>> http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/wiki/MailingLists
>> for more information.
>>
>> Regards,
>> Elmar Zeeb
>>>
>>> Thanks and regards,
>>> Sathya
>>>
>>> --- On *Mon, 4/20/09, Elmar Zeeb
>>> /<elmar...@uni-rostock.de>/* wrote:
>>>
>>>
>>> From: Elmar Zeeb <elmar...@uni-rostock.de>
>>> Subject: Re: Regarding WS-Policy support on
>>> wsdl2h.exe
>>> To: "sathya sai" <sai_e...@yahoo.co.in>
>>> Date: Monday, April 20, 2009, 8:25 PM
>>>
>>> sathya sai schrieb:
>>>>
>>>> Hi Elmar,
>>>>
>>>> Thanks a lot responding to me on this
>>>>
>>>> --- On *Mon, 4/20/09, Elmar Zeeb
>>>>> <http://us.mc954.mail.yahoo.com/mc/compose?to=sathyas@sathyas>
>>>>> /cygdrive/d/WSD/gsoap-binaries/gsoap_2.7.13/gsoap-2.7/gsoap/WS
>>>>> $
>>>>> -------------------
>>>>> My gSoap stack version is 2.7.13. Does it
>>>>> mean that WSDL's WS-Policy framework is
>>>>> not support by "wsdl2.h.exe". If yes,
>>>>> could you please suggest me an alternative
>>>>> for this.
>>>>> ----
>>>>> WSDPrintDevice.wsdl file,
>>>>> <wsdl:definitions
>>>>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>>>>
>>>>> xmlns:wsoap12="http://schemas.xmlsoap.org/wsdl/soap12/"
>>>>>
>>>>> xmlns:wsdp="http://schemas.xmlsoap.org/ws/2006/02/devprof"
>>>>>
>>>>> xmlns:wsp="http://schemas..xmlsoap.org/ws/2004/09/policy
>>>>> <http://schemas.xmlsoap.org/ws/2004/09/policy>"
Hi Elmar,
Although we had defined "wprt" as a namespace prefix for http://schemas.microsoft.com/windows/2006/08/wdp/print URL in our gSoap file, the ws4d-gSoap tool seems to be somehow ignoring "wprt" prefix and then adds "n1" to it. The same behavior could be observed with the sample Airconditioner application as well.
However, I could fix this problem by explicitly adding "wprt" prefix in
acs_setup_HostingService() function as in below,
----
device_type = ws4d_qname_alloc (1, &device->alloc_list);
device_type->prefix = ws4d_strdup ( "wprt", &device->alloc_list);
device_type->ns = ws4d_strdup ( http://schemas.microsoft.com/windows/2006/08/wdp/print, &device->alloc_list);
device_type->name = ws4d_strdup ( "PrintDeviceType", &device->alloc_list);
---
Now the problem is, although our WSD server is sending the ProbeMatch response with "
wprt:PrintDeviceType wsdp:Device", vista client is dropping after receiving ResolveMatch match (same old behavior.)
I just compared the XML packet exchange between vista client & someother WSD supported printer & see that although the ProbeMatch packet is similar to us but ResolveMatch packet seems be different.
ResolveMatch response of someother WSD server which is working:
=================================================
< SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:wse="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2006/02/devprof" xmlns:wscn="http://schemas.microsoft.com/windows/2006/08/wdp/scan" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:xrxd="http://xml.namespaces.xerox.com/enterprise/wsd/discovery/2007/02" xmlns:trn="http://schemas.xmlsoap.org/ws/2004/09/transfer" xmlns:wprt="http://schemas.microsoft.com/windows/2006/08/wdp/print">
< |
| SOAP-ENV:Header>
< wsa:Action>http://schemas.xmlsoap.org/ws/2005/04/discovery/ResolveMatches</wsa:Action>
< wsa:MessageID>urn:uuid:6f030bb8-2f8d-11de-aebe-0000aa9e8e1a</wsa:MessageID>
< wsa:RelatesTo>urn:uuid:f2567a08-aead-42cc-b308-10a3b4f4f227</wsa:RelatesTo>
< wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
< wsd:AppSequence MessageNumber="12" InstanceId="1240438886"></wsd:AppSequence>
</ SOAP-ENV:Header>
< SOAP-ENV:Body>
< wsd:ResolveMatches>
< wsd:ResolveMatch>
< wsa:EndpointReference>
< wsa:Address>uuid:97cba564-20bf-11de-90de-0000aa9e8e1a</wsa:Address>
</ |
| wsa:EndpointReference>
< wsd:Types>wsdp:Device wprt:PrintDeviceType</wsd:Types>
< wsd:XAddrs>http://10.10.91.46:53202/webservices/wsd/TransferService</wsd:XAddrs>
< wsd:MetadataVersion>1</wsd:MetadataVersion>
</ |
| wsd:ResolveMatch>
</ wsd:ResolveMatches>
</ SOAP-ENV:Body>
</ SOAP-ENV:Envelope>
ResolveMatch response of WSD server created by our ws4d-gSoap stack which is not working:
=====================================================
< SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wprt="http://schemas.microsoft.com/windows/2006/08/wdp/print" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2006/02/devprof">
< SOAP-ENV:Header>
< wsa:MessageID SOAP-ENV:mustUnderstand="true">urn:uuid:ac2f7378-d30d-453b-8d6c-babe2c625b5f</wsa:MessageID>
< wsa:RelatesTo SOAP-ENV:mustUnderstand="true">urn:uuid:b9a0faf1-0ad5-4b5c-8e20-9b39d548c324</wsa:RelatesTo>
< wsa:To SOAP-ENV:mustUnderstand="true">urn:schemas-xmlsoap-org:ws:2005:04:discovery</wsa:To>
< wsa:Action SOAP-ENV:mustUnderstand="true">http://schemas.xmlsoap.org/ws/2005/04/discovery/ResolveMatches</wsa:Action>
< wsd:AppSequence MessageNumber="9" InstanceId="1031797"></wsd:AppSequence>
</ |
| SOAP-ENV:Header>
< SOAP-ENV:Body>
< wsd:ResolveMatches>
< wsd:ResolveMatch>
< wsa:EndpointReference>
< |
| wsa:Address>urn:uuid:a2bb3689-62ff-4d13-8da8-82171e0916c3</wsa:Address |
| >
</ wsa:EndpointReference>
< wsd:XAddrs>http://10.208.24.167:1306</wsd:XAddrs>
< wsd:MetadataVersion>1031797</wsd:MetadataVersion>
</ wsd:ResolveMatch>
</ wsd:ResolveMatches>
</ SOAP-ENV:Body>
</ SOAP-ENV:Envelope>
I could observe following two differences,
1. Our ResolveMatch packet didn't contain "<wsd:Types>wsdp:Device wprt:PrintDeviceType</wsd:Types>" field in it.
2. Our ResolveMatch packet had "<wsd:XAddrs>http://10.208.24.167:1306</wsd:XAddrs>" but the the working WSD server seems to be sending |
|
<wsd:XAddrs>http://10.10.91.46:53202/webservices/wsd/TransferService</wsd:XAddrs>"
|
Could you please let me know with your thoughts by earliest to proceed further on this. |
|
Thanks a lot in advance.
Regards,
Sathya |
|
|
|
|
|
|
|
Hi Elmar,
Thanks for your quick response.
I already confirmed from SENT.log, RECV.log message generated from my WSD server and could see that Resolve/ResolveMatch were the last packet exchange between them.
Please find attach the respective logs.
Could you please let me know your thoughts on this and do let me know if you feel that I missing anything on this.
Thanks and regards,
Sathya |
|
|
|
|
|
|
Hi Elmar,
Hi Elmar,
Even with the latest sub version downloaded with the steps as suggested by you (recompiling the ws4d-gsoap stack & my sample application with the latest subversion), I am experiencing the same problem as before.
Please find attached the corresponding SENT.log, RECV.log & TEST.log.
I am struck & couldn't proceed much on this :-) .Could you please let me know your thoughts on this.
Could you please let me know if this is because of some bug with the ws4d-gSoap. Moving forward, even I would like contribute my part for this project.
Thanks and regards,
Sathya |
|
|
|
|
|
|
|
|
|
|
|
|
|
Hi Elmar,
To add on to this; I could also observe a strange behavior, after receiving the "ResolveMatch" packet from our WSD server, vista client seems to be multicasting again the "Resolve" packet with the same uuid (same value in wsa:Address field) as it has sent before.
Regards,
|
|
|
|
|
|
|
|
|
|
|
|
|