[2/4] webservices: Set default channel envelope and addressing versions.
Hans Leidekker
hans at codeweavers.com
Thu Jul 20 08:01:54 CDT 2017
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
dlls/webservices/channel.c | 6 ++++++
dlls/webservices/tests/channel.c | 26 ++++++++++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/dlls/webservices/channel.c b/dlls/webservices/channel.c
index 6326d60..5abd394 100644
--- a/dlls/webservices/channel.c
+++ b/dlls/webservices/channel.c
@@ -193,12 +193,18 @@ static HRESULT create_channel( WS_CHANNEL_TYPE type, WS_CHANNEL_BINDING binding,
{
struct channel *channel;
ULONG i, msg_size = 65536;
+ WS_ENVELOPE_VERSION env_version = WS_ENVELOPE_VERSION_SOAP_1_2;
+ WS_ADDRESSING_VERSION addr_version = WS_ADDRESSING_VERSION_1_0;
HRESULT hr;
if (!(channel = alloc_channel())) return E_OUTOFMEMORY;
prop_set( channel->prop, channel->prop_count, WS_CHANNEL_PROPERTY_MAX_BUFFERED_MESSAGE_SIZE,
&msg_size, sizeof(msg_size) );
+ prop_set( channel->prop, channel->prop_count, WS_CHANNEL_PROPERTY_ENVELOPE_VERSION,
+ &env_version, sizeof(env_version) );
+ prop_set( channel->prop, channel->prop_count, WS_CHANNEL_PROPERTY_ADDRESSING_VERSION,
+ &addr_version, sizeof(addr_version) );
channel->type = type;
channel->binding = binding;
diff --git a/dlls/webservices/tests/channel.c b/dlls/webservices/tests/channel.c
index ceefad9..86df4f7 100644
--- a/dlls/webservices/tests/channel.c
+++ b/dlls/webservices/tests/channel.c
@@ -28,6 +28,8 @@ static void test_WsCreateChannel(void)
WS_CHANNEL_STATE state;
WS_CHANNEL_PROPERTY prop;
WS_ENCODING encoding;
+ WS_ENVELOPE_VERSION env_version;
+ WS_ADDRESSING_VERSION addr_version;
ULONG size;
hr = WsCreateChannel( WS_CHANNEL_TYPE_REQUEST, WS_HTTP_CHANNEL_BINDING, NULL, 0, NULL, NULL, NULL );
@@ -48,6 +50,18 @@ static void test_WsCreateChannel(void)
ok( hr == S_OK, "got %08x\n", hr );
ok( encoding == WS_ENCODING_XML_UTF8, "got %u\n", encoding );
+ env_version = 0xdeadbeef;
+ hr = WsGetChannelProperty( channel, WS_CHANNEL_PROPERTY_ENVELOPE_VERSION, &env_version, sizeof(env_version),
+ NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( env_version == WS_ENVELOPE_VERSION_SOAP_1_2, "got %u\n", env_version );
+
+ addr_version = 0xdeadbeef;
+ hr = WsGetChannelProperty( channel, WS_CHANNEL_PROPERTY_ADDRESSING_VERSION, &addr_version, sizeof(addr_version),
+ NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( addr_version == WS_ADDRESSING_VERSION_1_0, "got %u\n", addr_version );
+
/* read-only property */
state = 0xdeadbeef;
hr = WsGetChannelProperty( channel, WS_CHANNEL_PROPERTY_STATE, &state, sizeof(state), NULL );
@@ -81,6 +95,18 @@ static void test_WsCreateChannel(void)
hr = WsGetChannelProperty( channel, WS_CHANNEL_PROPERTY_ENCODING, &encoding, sizeof(encoding), NULL );
ok( hr == S_OK, "got %08x\n", hr );
ok( encoding == WS_ENCODING_XML_BINARY_SESSION_1, "got %u\n", encoding );
+
+ env_version = 0xdeadbeef;
+ hr = WsGetChannelProperty( channel, WS_CHANNEL_PROPERTY_ENVELOPE_VERSION, &env_version, sizeof(env_version),
+ NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( env_version == WS_ENVELOPE_VERSION_SOAP_1_2, "got %u\n", env_version );
+
+ addr_version = 0xdeadbeef;
+ hr = WsGetChannelProperty( channel, WS_CHANNEL_PROPERTY_ADDRESSING_VERSION, &addr_version, sizeof(addr_version),
+ NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( addr_version == WS_ADDRESSING_VERSION_1_0, "got %u\n", addr_version );
WsFreeChannel( channel );
}
--
2.1.4
More information about the wine-patches
mailing list