Native Web Services, Part 2 - Build a WWSAPI Web Service

Play Native Web Services, Part 2 - Build a WWSAPI Web Service
Sign in to queue


With the Windows Web Services API (WWSAPI), you can connect your C/C++ client applications with web services. You can also create C/C++ server-side web service end-points. WWSAPI is new with Windows 7 (client) and Windows Server 2008 R2 (server). WWSAPI is also back-ported to all formally supported versions of Windows (client and server). The WWSAPI runtime library (WebServices.dll) is a native-code implementation of WS-* family of protocols for SOAP based web services.

WWSAPI enables several solution scenarios and benefits including:

1. Implement web services in native C/C++ code on both Windows client and server. C/C++ application developers have often requested this platform technology capability but were previously forced to write their own or interface their native-code solutions with managed-code wrappers.

2. Achieve interoperability with web services implemented using Windows Communication Foundation (WCF), ASP.NET XML Web Services, and even services implemented using non-Microsoft implementations of WS-* libraries.

3. Construct web services with minimal service startup time and minimal process working-set dependencies.

4. Use web services implementations in resource-constrained deployment environments.

5. Avoid native-management interop scenarios with potentially costly marshalling side-effects.

This is part 2 of a 2 episode series and focuses upon using WWSAPI to construct a web service. The example illustrates adding a web-service interface to a native (presumably legacy) application.  The demonstration provides a comparison between using a managed (WCF) interface and a native (WWSAPI) interface involving sorting algorthms with differing interop costs.

Find sample code and additional technical details at MSDN Code Gallery.

See part 1 of this series here.



Download this episode

The Discussion

  • User profile image

    In part one, you generate the WSDL files from the WCF service.  In part 2, you're using the headers generated from wsutil in the WWSAPI service...  That confuses me.  Can you not just create a WWSAPI service from scratch?

  • User profile image

    One thing i would like to know is how a WCF service host can host a Native webservice? does it require any thing additional ?

Add Your 2 Cents