A Resolve message is a WS-Discovery message used by a client to search for services on the network by name. A client will only send a Resolve message when an HTTP message (such as a Get metadata exchange request or a service message) will be sent. For more information about Resolve messages, see section 6.1 of the WS-Discovery Specification.
A Resolve message is sent by UDP multicast to port 3702. Unicast Resolve messages are not supported.
DPWS clients send Resolve messages. The following list shows scenarios in which WSDAPI will send a Resolve message.
- A Function Discovery client sends a Resolve message if no XAddrs are included in a ProbeMatches message.
- A client calling the IWSDiscoveryProvider::SearchById methods will send a Resolve message.
- A client calling WSDCreateDeviceProxy may send a Resolve message if a logical device address is passed to pszDeviceId.
- A client calling WSDCreateDeviceProxyAdvanced will send a Resolve message if the function is called with the pDeviceAddress parameter set to NULL.
This topic shows a sample DPWS message generated by WSDAPI clients and hosts. WSDAPI will parse and accept other DPWS-compliant messages that do not conform to this sample. Do not use this sample to verify DPWS interoperability; use the WSDAPI Basic Interoperability Tool (WSDBIT) instead.
The following SOAP message shows a sample Resolve message.
<?xml version="1.0" encoding="utf-8" ?> <soap:Envelope xmlns:soap="https://www.w3.org/2003/05/soap-envelope" xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsd="https://schemas.xmlsoap.org/ws/2005/04/discovery"> <soap:Header> <wsa:To> urn:schemas-xmlsoap-org:ws:2005:04:discovery </wsa:To> <wsa:Action> https://schemas.xmlsoap.org/ws/2005/04/discovery/Resolve </wsa:Action> <wsa:MessageID> urn:uuid:38d1c3d9-8d73-4424-8861-6b7ee2af24d3 </wsa:MessageID> </soap:Header> <soap:Body> <wsd:Resolve> <wsa:EndpointReference> <wsa:Address> urn:uuid:37f86d35-e6ac-4241-964f-1d9ae46fb366 </wsa:Address> </wsa:EndpointReference> </wsd:Resolve> </soap:Body> </soap:Envelope>
A Resolve message has the following focus points.
|Resolve||The Resolve SOAP action identifies the message as a Resolve message.|
|MessageID||Contains the message identifier, which is referenced in a ResolveMatches message.|
|Address||Contains the address of the endpoint being resolved.|