March2005March 2005

Web Services: Increase Your App's Reach Using WSDL to Combine Multiple Web Services

The very tools that have helped drive the growing adoption of Web services, and the enabling abstractions that they provide, can often prevent developers from peeking behind the curtains at the XML standards that make up the Web services stack. This article will offer a solution that enables type sharing between proxies created for complementary Web services, while at the same time providing an opportunity to examine the Web Services Description Language (WSDL) and its interaction with the Web services tools you know and love. Gerrard Lindsay

What is BPEL4WS?: Build Better Business Processes with Web Services in BizTalk Server 2004

In this article the author focuses on one critically important Web services specification that has been largely overlooked: the Business Process Execution Language for Web Services (BPEL4WS, or BPEL). He describes why BPEL is important and what it offers you if you are implementing Web services today or planning to in the future. Concrete examples using BizTalk Server 2004 are presented in the article. Jon Fancey

ASP.NET: Combine Web and Windows Services to Run Your ASP.NET Code at Scheduled Intervals

If you want to schedule ASP.NET tasks, one solution is to use a Web service to provide an interface to your ASP.NET application and build a Windows service that calls to it at scheduled intervals. Thus the ASP.NET application doesn't have to own the scheduling logic. Here the author shows how to schedule your ASP.NET tasks using a Windows service to initiate the Web service call because Windows services can start themselves when Windows boots up. Andrew Needleman

WSE 2.0: Give Your Web Services Consumers the Exact XML They Need to Succeed

Web services use XML to communicate with each other. But sometimes the XML your service emits is not the same XML that another service is expecting. If you want to avoid the problems that this kind of situation can cause, you need to get good control over your XML serialization. Here author Chris Dix shows you exactly how to tackle this problem. Chris Dix

Security: Manipulate Privileges in Managed Code Reliably, Securely, and Efficiently

When the author was faced with implementing support for changing a security descriptor on an object, he noticed there was not support for that operation in .NET. So he devised two solutions to the problem: the first, simpler one, is tailored to the .NET Framework 1.1 and can be used today. The second solution incorporates several advanced features available only in the .NET Framework 2.0. Both are presented here. Mark Novak

Go Global: Make the .NET World a Friendlier Place with the Many Faces of the CultureInfo Class

CultureInfo is a complex .NET class whose objects are used for resource loading, formatting, parsing, casing, sorting, and other conventions that change as the language, location, or writing system is changed. It can be tricky to use correctly in every situation. Here Michael Kaplan explains some common scenarios in which you will use CultureInfo and provides information about the behavior, best practices, and consequences of a wrong decision. Michael Kaplan

Code Download (748 KB)
.Chm Files


Editor's Note: There’s A Word For That…
This month in MSDN Magazine, we are looking at the world of Web services. But before we tell you all about this month's issue, we have a topic we would like to address. In fact, it's our civic duty to do so.
New Stuff: Resources for Your Developer Toolbox
XMLSpy 2005 by Altova is an XML development environment for modeling, editing, debugging, and transforming all XML technologies. It implements the W3C's new XSLT 2. 0 and XPath 2. 0 specs, and provides native support for XQuery 1. Marnie Hutcheson
Web Q&A: Data Integrity Over HTTP, IIS Credentials, DataGrids, and More
Edited by Nancy Michell
Advanced Basics: Doing Async the Easy Way
If you've been following Ted Pattison's excellent series of Basic Instincts columns on multithreading and asynchronous behavior, you should by now be an expert on handling the issues involved in working with multiple threads in Windows®-based apps. Ken Getz
Cutting Edge: Moving DataGrid Rows Up and Down
Imagine opening your Inbox one morning and finding a message that reads "Dear Mr. DataGrid, I urgently need an ASP.NET DataGrid that lets my users move rows on the client. You're my last hope. Will you please help me?"Dino Esposito
Test Run: Automate Your ASP.NET Web Services Testing
It's no exaggeration to say that Web services are revolutionizing application-to-application communication. Web services are already being used extensively in corporate intranet environments and are making their way into commercial use, too. James McCaffrey
Inside MSDN: Using InfoPath as a Reporting Solution
I love the part of my job that lets me write code and develop software. In addition to those responsibilities, however, I manage a development organization that's working on a number of large strategic projects. Larry W. Jordan Jr.
Security Briefs: Access Control List Editing in .NET
Access control lists (ACLs) can be complex beasts, and user interfaces for editing them are incredibly tricky to implement properly. That's why I was really excited when Windows® 2000 shipped with a programmable ACL editor, shown in Figure 1. Keith Brown
Bugslayer: Mini Dump Snapshots and the New SOS
In debugging some large Microsoft® . NET Framework-based ap-plications over the last few months, I've been spending more time looking at mini dumps than at live processes. This is mainly because in those large applications problems surface when the apps are running in production and not on test systems. John Robbins
C++ at Work: Making Static Links Keyboard-Capable, Launching URLs from Your App
Paul DiLascia
{End Bracket}: To Confirm is Useless, to Undo Divine
The common user interface technique of confirmation, popping a dialog box into the user's face and asking, "Are you really REALLY sure you want to do that?" is evil. It's unfriendly, it's distracting, and it's completely ineffective. David S. Platt