WS_ENCODING enumeration (webservices.h)

The different encodings (message formats).

Syntax

typedef enum {
  WS_ENCODING_XML_BINARY_1 = 0,
  WS_ENCODING_XML_BINARY_SESSION_1 = 1,
  WS_ENCODING_XML_MTOM_UTF8 = 2,
  WS_ENCODING_XML_MTOM_UTF16BE = 3,
  WS_ENCODING_XML_MTOM_UTF16LE = 4,
  WS_ENCODING_XML_UTF8 = 5,
  WS_ENCODING_XML_UTF16BE = 6,
  WS_ENCODING_XML_UTF16LE = 7,
  WS_ENCODING_RAW = 8
} WS_ENCODING;

Constants

 
WS_ENCODING_XML_BINARY_1
Value: 0
The binary XML encoding.


Although the data is still in the XML
infoset format, this encoding typically results in smaller messages
that require less CPU to produce and consume.


This encoding requires SOAP 1.2 (WS_ENVELOPE_VERSION_SOAP_1_2).
WS_ENCODING_XML_BINARY_SESSION_1
Value: 1
The binary XML session encoding.


Although the data is still in the XML
infoset format, this encoding typically results in smaller messages
that require less CPU to produce and consume.


This encoding is like WS_ENCODING_XML_BINARY_1 but adds the
feature of a session dictionary. Because this encoding requires a
session, it may only be used on sessionful channel types
(WS_CHANNEL_TYPE_DUPLEX_SESSION).


The session dictionary is a data structure maintained by both the
sending and receiving side of a channel. The session dictionary
is used to optimize the transmission of string data. The first time
a particular string is written, it is encoded using in the full string
format. If the same string is written again, then it will use a smaller
tokenized form, which can reduce message size.


The writer of the string data selects which strings are candidates for
the session dictionary by filling out the dictionary and id fields of
the WS_XML_STRING structure.


The size of the session dictionary is configured using
WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE.


This encoding requires SOAP 1.2 (WS_ENVELOPE_VERSION_SOAP_1_2).
WS_ENCODING_XML_MTOM_UTF8
Value: 2
The MTOM encoding.


The MTOM encoding optimizes for binary data by avoiding the costs
of converting binary data to base64 format. For messages containing
large amounts of binary data, this encoding usually results in smaller
messages that require less CPU to produce and consume
than with a text encoding. This encoding is typically not as efficient as
a binary encoding, however.


The XML part of the MTOM package is written
using WS_CHARSET_UTF8, but may be in any WS_CHARSET when read.
WS_ENCODING_XML_MTOM_UTF16BE
Value: 3
The MTOM encoding.


The MTOM encoding optimizes for binary data by avoiding the costs
of converting binary data to base64 format. For messages containing
large amounts of binary data, this encoding usually results in smaller
messages that require less CPU to produce and consume
than with a text encoding. This encoding is typically not as efficient as
a binary encoding, however.


The XML part of the MTOM package is written
using WS_CHARSET_UTF16BE, but may be in any WS_CHARSET when read.
WS_ENCODING_XML_MTOM_UTF16LE
Value: 4
The MTOM encoding.


The MTOM encoding optimizes for binary data by avoiding the costs
of converting binary data to base64 format. For messages containing
large amounts of binary data, this encoding usually results in smaller
messages that require less CPU to produce and consume
than with a text encoding. This encoding is typically not as efficient as
a binary encoding, however.


The XML part of the MTOM package is written
using WS_CHARSET_UTF16LE, but may be in any WS_CHARSET when read.
WS_ENCODING_XML_UTF8
Value: 5
The text encoding (XML 1.0 format).


Data is written using WS_CHARSET_UTF8,
but may be in any WS_CHARSET when read.
WS_ENCODING_XML_UTF16BE
Value: 6
The text encoding (XML 1.0 format).


Data is written using WS_CHARSET_UTF16BE,
but may be in any WS_CHARSET when read.
WS_ENCODING_XML_UTF16LE
Value: 7
The text encoding (XML 1.0 format).


Data is written using WS_CHARSET_UTF16LE,
but may be in any WS_CHARSET when read.
WS_ENCODING_RAW
Value: 8

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps | UWP apps]
Minimum supported server Windows Server 2008 R2 [desktop apps | UWP apps]
Header webservices.h