Common WWSAPI errors: property value set incorrectly

As mentioned in my previous post, WWSAPI follows a common pattern to set properties (which in most cases are just configuration settings). Each property structure consists of three fields: id, value and valueSize. The field id is an enum value of the property. The enum value has a corresponding type whose size should be set…

0

Common WWSAPI errors: A NULL WS_STRUCT_DESCRIPTION was specified.

When you use WsUtil to generate stub code and then work with the generated structures, you may get E_INVALIDARG when making the call to the service and, with WWSAPI tracing turned on, see the error message “A NULL WS_STRUCT_DESCRIPTION was specified.”.   WS_STRUCT_DESCRIPTION is one of the WWSAPI serialization structures and describes how a structure…

0

WWSAPI to WCF interop 11: security binding templates

In my previous post on WsUtil, I explained how the generated helper functions can simplify the creation of WS_SERVICE_PROXY and WS_SERVICE_ENDPOINT. In both of these functions, the first parameter is a pointer to a same binding template. When no security is used in the binding, the template will be a simple wrapper of channel properties…

0

Common WWSAPI errors: usage asserts

One of the design principles of WWSAPI is to be very stringent at the API contract, as we believe ambiguous or loose API contract does not help developers write high quality applications. Being stringent means not only to document the API contract clearly, but also to enforce at runtime that the contract is honored. Considering…

0

Common WWSAPI errors: wrong property value size

WWSAPI properties are designed to control the behavior of the WWSAPI objects like service proxy, channel, XML reader/writer, etc. Each property has a property id, an associated value type, a target object and allowed actions. All property structures have the same set of fields: a property id, a pointer to the value buffer and the…

0

WWSAPI to WCF interop 10: WsUtil.exe, the silver bullet

In my previous post on interoperating with WCF BasicHttpBinding endpoint, I explained that you had to set the channel properties to match SOAP version and addressing version on the server side. Wouldn’t it be great if you don’t have to do all that? That’s one of the goal of building WsUtil.exe, the silver bullet for…

1

Common WWSAPI errors: addressing version mismatch

WWSAPI supports two WS-Addressing versions: the existing W3C recommendation version (1.0) and the older 2004/08 version (0.9). WS-Addressing defines a set of SOAP headers to describe the message recipient, targeted action and some other basic messaging information. When HTTP transport is used, WWSAPI also supports a mode that does not use WS-Addressing. This is called transport…

1

Common WWSAPI errors: SOAP version mismatch

There are two versions of SOAP supported by WWSAPI and most other web services stacks: SOAP 1.1 and SOAP 1.2. Although the basic message layout in the two SOAP versions is the same (Header and Body inside Envelope), there are three main differences: the namespace, the content type for HTTP binding and the SOAP fault layout. Since…

0

WWSAPI RC bits for downlevel platforms are available!

Not many people are aware of our commitments to ship WWSAPI to downlevel platforms. Nikola just sent out an email annoucing the availability of the RC bits for downlevel platforms: https://connect.microsoft.com/WNDP/Downloads/DownloadDetails.aspx?DownloadID=18901. There are bits for XP SP3, Windows 2003 SP2, Vista SP1 and Windows 2008 SP1.

2

One thought on testing

I have been in the testing discipline for almost 8 years. Over the years there have been different forces to push me into development. Somehow I stayed, despite the fact many people outside and even inside Microsoft don’t give much regard to testers. As I think of relationship between development discipline and testing discipline, I…

2