diff --git a/dlls/wsdapi/soap.c b/dlls/wsdapi/soap.c index 9ba934e99d0..e7cd65124ed 100644 --- a/dlls/wsdapi/soap.c +++ b/dlls/wsdapi/soap.c @@ -80,6 +80,7 @@ static const WCHAR addressString[] = { 'A','d','d','r','e','s','s', 0 }; static const WCHAR typesString[] = { 'T','y','p','e','s', 0 }; static const WCHAR scopesString[] = { 'S','c','o','p','e','s', 0 }; static const WCHAR xAddrsString[] = { 'X','A','d','d','r','s', 0 }; +static const WCHAR metadataVersionString[] = { 'M','e','t','a','d','a','t','a','V','e','r','s','i','o','n', 0 }; struct discovered_namespace { @@ -968,6 +969,12 @@ HRESULT send_hello_message(IWSDiscoveryPublisherImpl *impl, LPCWSTR id, ULONGLON if (FAILED(ret)) goto cleanup; } + /* */ + ret = add_child_element(impl->xmlContext, hello_element, discoveryNsUri, metadataVersionString, + ulonglong_to_string(hello_element, min(UINT_MAX, metadata_ver)), NULL); + + if (FAILED(ret)) goto cleanup; + /* Write any body elements */ if (any != NULL) { diff --git a/dlls/wsdapi/tests/discovery.c b/dlls/wsdapi/tests/discovery.c index 0576c8fa455..5d10d3da8b6 100644 --- a/dlls/wsdapi/tests/discovery.c +++ b/dlls/wsdapi/tests/discovery.c @@ -699,8 +699,8 @@ static void Publish_tests(void) ok(hello_message_seen == TRUE, "Hello message not received\n"); ok(endpoint_reference_seen == TRUE, "EndpointReference not received\n"); ok(app_sequence_seen == TRUE, "AppSequence not received\n"); - todo_wine ok(metadata_version_seen == TRUE, "MetadataVersion not received\n"); - todo_wine ok(messageOK == TRUE, "Hello message metadata not received\n"); + ok(metadata_version_seen == TRUE, "MetadataVersion not received\n"); + ok(messageOK == TRUE, "Hello message metadata not received\n"); ok(any_header_seen == TRUE, "Custom header not received\n"); ok(wine_ns_seen == TRUE, "Wine namespace not received\n"); ok(body_hello_seen == TRUE, "Body and Hello elements not received\n");