You are on page 1of 10

Developing XML Web

Services Using
Microsoft ASP.NET
Delivery Guide
Course Number: 2524B

Part Number: X08-85030


Released: 05/2002

Information in this document, including URL and other Internet Web site references, is subject to
change without notice. Unless otherwise noted, the example companies, organizations, products,
domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious,
and no association with any real company, organization, product, domain name, e-mail address,
logo, person, places or events is intended or should be inferred. Complying with all applicable
copyright laws is the responsibility of the user. Without limiting the rights under copyright, no
part of this document may be reproduced, stored in or introduced into a retrieval system, or
transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or
otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual
property rights covering subject matter in this document. Except as expressly provided in any
written license agreement from Microsoft, the furnishing of this document does not give you any
license to these patents, trademarks, copyrights, or other intellectual property.
2001-2002 Microsoft Corporation. All rights reserved.
Microsoft MS-DOS, Windows, Windows NT Active Directory, Authenticode, IntelliSense,
FrontPage, Jscript, MSDN, PowerPoint, Visual C#, Visual Studio, Visual Basic, Windows NT, and
Win32 are either registered trademarks or trademarks of Microsoft Corporation in the United
States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.

Course Number: 2524B


Part Number: X08-85030
Released: 05/2002

Developing XML Web Services Using Microsoft ASP.NET

Contents

iii

Introduction
Course Materials ......................................................................................................2
Prerequisites.............................................................................................................3
Course Outline .........................................................................................................4
Setup ........................................................................................................................8
Microsoft Official Curriculum .................................................................................9
Microsoft Certified Professional Program .............................................................11
Facilities.................................................................................................................13

Module 1: The Need for XML Web Services


Overview..................................................................................................................1
Evolution of Distributed Applications .....................................................................2
Problems with Traditional Distributed Applications ...............................................4
Introducing XML Web Services ............................................................................14
The Web Technology Stack and .NET ..................................................................16
The .NET Alternatives to XML Web Services ......................................................18
Common XML Web Service Scenarios.................................................................20
Review ...................................................................................................................22

Module 2: XML Web Service Architectures


Overview..................................................................................................................1
Service-Oriented Architecture .................................................................................2
XML Web Services Architectures and Service-Oriented Architecture ...................4
Roles in an XML Web Services Architecture..........................................................8
The XML Web Services Programming Model ......................................................16
Review ...................................................................................................................18

Module 3: The Underlying Technologies of XML Web Services


Overview..................................................................................................................1
HTTP Fundamentals ................................................................................................2
Using HTTP with the .NET Framework ..................................................................8
XML Essentials......................................................................................................17
XML Serialization in the .NET Framework ..........................................................26
SOAP Fundamentals..............................................................................................29
Using SOAP with the .NET Framework................................................................36
Lab 3.1: Issuing HTTP and SOAP Requests Using the .NET Framework ............45
Review ...................................................................................................................54

Module 4: Consuming XML Web Services


Overview..................................................................................................................1
WSDL Documents ...................................................................................................2
XML Web Service Discovery..................................................................................8
XML Web Service Proxies ....................................................................................19
Implementing an XML Web Service Consumer Using Visual Studio .NET.........27
Lab 4.1: Implementing an XML Web Service Consumer Using Visual Studio
.NET.......................................................................................................................34
Review ...................................................................................................................43

iv

Developing XML Web Services Using Microsoft ASP.NET

Module 5: Implementing a Simple XML Web Service


Overview................................................................................................................. 1
Creating an XML Web Service Project .................................................................. 2
Implementing XML Web Service Methods.......................................................... 11
Managing State in an ASP.NET XML Web Service ............................................ 33
Debugging XML Web Services............................................................................ 42
Lab 5.1: Implementing a Simple XML Web Service............................................ 61
Review .................................................................................................................. 77

Module 6: Publishing and Deploying XML Web Services


Overview................................................................................................................. 1
Overview of UDDI.................................................................................................. 2
Publishing an XML Web Service ......................................................................... 16
Finding an XML Web Service .............................................................................. 21
Publishing an XML Web Service on an Intranet .................................................. 24
Configuring an XML Web Service ....................................................................... 26
Lab 6.1: Publishing and Finding Web Services in a UDDI Registry.................... 29
Review .................................................................................................................. 39

Module 7: Securing XML Web Services


Overview................................................................................................................. 1
Overview of Security .............................................................................................. 2
Built-In Authentication ......................................................................................... 10
Custom Authentication: SOAP Headers ............................................................... 18
Authorization: Role-Based Security ..................................................................... 25
Authentication and Authorization with HttpModules........................................... 34
Authorization: Code Access Security ................................................................... 39
Encryption............................................................................................................. 46
Lab 7.1: Securing XML Web Services ................................................................. 54
Review .................................................................................................................. 70
Course Evaluation ................................................................................................. 72

Module 8: Designing XML Web Services


Overview................................................................................................................. 1
Data Type Constraints............................................................................................. 2
Performance .......................................................................................................... 11
Lab 8.1: Implementing Caching in an XML Web Service.................................... 28
Reliability.............................................................................................................. 33
Versioning............................................................................................................. 37
HTML Screen Scraping XML Web Services ....................................................... 39
Aggregating XML Web Services.......................................................................... 47
Demonstration: Example of an Aggregated XML Web Service........................... 52
Lab 8.2: Implementing an Aggregated XML Web Service .................................. 53
Review .................................................................................................................. 67

Module 9: Global XML Web Services Architecture


Overview................................................................................................................. 1
Introduction to GXA ............................................................................................... 2
Routing and Referral............................................................................................... 8
Security and License ............................................................................................. 16
Review .................................................................................................................. 19
Course Evaluation ................................................................................................. 20

Developing XML Web Services Using Microsoft ASP.NET

About This Course


This section provides you with a brief description of the course, audience,
suggested prerequisites, and course objectives.
Description

This three-day instructor-led course teaches experienced software developers


how to use XML Web services in solving common problems in the distributed
application domain. This course teaches developers how to build, deploy,
locate, and consume XML Web services.

Audience

This course is designed for experienced software developers who have


previously built component-based applications.

Student Prerequisites

This course requires that students meet the requirements listed in the following
knowledge and skills matrix.
Prerequisites

Understand
Concepts
Preferred Required

Written simple
applications
Preferred

Required

Written realworld applications


Preferred Required

Familiarity with C#

Programming in C++,
Java, or Microsoft
Visual Basic
Familiarity with
Extensible Markup
Language (XML)

Course Objectives

After completing this course, the student will be able to:




Explain how XML Web services emerged as a solution to the problems with
traditional approaches to designing distributed applications.

Describe the architecture of an XML Web services-based solution.

Explain how to use the Microsoft .NET Framework to implement XML


Web services.

Implement an XML Web service consumer by using Microsoft Visual


Studio .NET.

Implement a simple XML Web service by using Microsoft Visual Studio


.NET.

Publish and deploy an XML Web service.

Secure a XML Web service.

Evaluate the trade-offs and issues that are involved in designing a real-world
XML Web service.

Implement nonstandard XML Web services such as Hypertext Markup


Language (HTML) screen scraping and aggregating XML Web services.

Describe the Global XML Architecture and explain how to design XML
Web services to anticipate the new services.

vi

Developing XML Web Services Using Microsoft ASP.NET

Course Timing
The following schedule is an estimate of the course timing. Your timing may
vary.

Day 1
Start

End

Module

9:00

9:20

Introduction

9:20

10:20

Module 1: The Need for XML Web Services

10:20

10:30

Break

10:30

11:30

Module 2: XML Web Service Architecture

11:30

12:15

Lunch

12:15

2:15

Module 3: The Underlying Technologies of XML Web Services

2:15

2:25

Break

2:25

3:10

Lab 3.1: Issuing HTTP and SOAP Requests Using the .NET
Framework

3:10

5:10

Module 4: Consuming XML Web Services

Day 2
Start

End

Module

9:00

10:15

Lab 4.1: Implementing an XML Web Service Consumer Using


Visual Studio .NET

10:15

10:25

Break

10:25

12:00

Module 5: Implementing a Simple XML Web Service

12:00

12:45

Lunch

12:45

1:40

Module 5: Implementing a Simple XML Web Service (continued)

1:40

2:30

Lab 5.1: Implementing a Simple XML Web Service

2:30

2:40

Break

2:40

3:05

Lab 5.1: Implementing a Simple XML Web Service (continued)

3:05

4:35

Module 6: Publishing and Deploying XML Web Services

4:35

5:05

Lab 6.1: Publishing and Finding XML Web Services in a UDDI


Registry

Developing XML Web Services Using Microsoft ASP.NET

vii

Day 3
Start

End

Module

9:00

9:30

Lab 6.1: Publishing and Finding XML Web Services in a UDDI


Registry (continued)

9:30

10:30

Module 7: Securing XML Web Services

10:30

10:40

Break

10:40

11:40

Module 7: Securing XML Web Services (continued)

11:40

12:25

Lunch

12:25

1:25

Lab 7.1: Securing XML Web Services

1:25

2:25

Module 8: Designing XML Web Services

2:25

2:35

Break

2:35

3:15

Lab 8.1: Implementing Caching in an XML Web Service

3:15

3:45

Module 8: Designing XML Web Services (continued)

3:45

5:15

Lab 8.2: Implementing an Aggregated XML Web Service

5:15

5:45

Module 9: Global XML Web Services Architecture

viii

Developing XML Web Services Using Microsoft ASP.NET

Trainer Materials Compact Disc Contents


The Trainer Materials compact disc contains the following files and folders:


Autorun.exe. When the compact disc is inserted into the CD-ROM drive, or
when you double-click the Autorun.exe file, this file opens the compact
disc and allows you to browse the Student Materials or Trainer Materials
compact disc.

Autorun.inf. When the compact disc is inserted into the compact disc drive,
this file opens Autorun.exe.

Default.htm. This file opens the Trainer Materials Web page.

Readme.txt. This file explains how to install the software for viewing the
Trainer Materials compact disc and its contents and how to open the Trainer
Materials Web page.

2524B_ms.doc. This file is the Manual Classroom Setup Guide. It contains


the steps for manually installing the classroom computers.

2524B_sg.doc. This file is the Automated Classroom Setup Guide. It


contains a description of classroom requirements, classroom configuration,
instructions for using the automated classroom setup scripts, and the
Classroom Setup Checklist.

Powerpnt. This folder contains the Microsoft PowerPoint slides that are
used in this course.

Pptview. This folder contains the Microsoft PowerPoint Viewer 97, which
can be used to display the PowerPoint slides if Microsoft PowerPoint 2002
is not available. Do not use this version in the classroom.

Setup. This folder contains the files that install the course and related
software to computers in a classroom setting.

StudentCD. This folder contains the Web page that provides students with
links to resources pertaining to this course, including additional reading,
review and lab answers, lab files, multimedia presentations, and courserelated Web sites.

Tools. This folder contains files and utilities used to complete the setup of
the instructor computer.

Webfiles. This folder contains the files that are required to view the course
Web page. To open the Web page, open Microsoft Windows Explorer, and
in the root directory of the compact disc, double-click Default.htm or
Autorun.exe.

Developing XML Web Services Using Microsoft ASP.NET

ix

Student Materials Compact Disc Contents


The Student Materials compact disc contains the following files and folders:


Autorun.exe. When the compact disc is inserted into the CD-ROM drive, or
when you double-click the Autorun.exe file, this file opens the compact
disc and allows you to browse the Student Materials compact disc or install
Internet Explorer.

Autorun.inf. When the compact disc is inserted into the compact disc drive,
this file opens Autorun.exe.

Default.htm. This file opens the Student Materials Web page. It provides
resources pertaining to this course, including additional reading, review and
lab answers, lab files, multimedia presentations, and course-related Web
sites.

Readme.txt. This file explains how to install the software for viewing the
Student Materials compact disc and its contents and how to open the
Student Materials Web page.

2524B_ms.doc. This file is the Manual Classroom Setup Guide. It contains a


description of classroom requirements, classroom setup instructions, and the
classroom configuration.

Database. This folder contains databases used in the course.

Democode. This folder contains demonstration code.

Flash. This folder contains the installer for the Macromedia Flash 5.0
browser plug-in.

Fonts. This folder contains fonts that are required to view the Microsoft
PowerPoint presentation and Web-based materials.

Labfiles. This folder contains files that are used in the hands-on labs. These
files may be used to prepare the student computers for the hands-on labs.

Mplayer. This folder contains the setup file to install Microsoft Windows
Media Player.

UDDI. This folder contains files that are used to initialize the Universal
Description, Discovery, and Integration (UDDI) registry. The folder also
contains files that are used to install the UDDI Services and the UDDI SDK,
and to register the XML Web services that UDDI registry uses in this
course.

Webfiles. This folder contains the files that are required to view the course
Web page. To open the Web page, open Windows Explorer, and in the root
directory of the compact disc, double-click Default.htm or Autorun.exe.

Wordview. This folder contains the Word Viewer that is used to view any
Word document (.doc) files that are included on the compact disc.

Developing XML Web Services Using Microsoft ASP.NET

Document Conventions
The following conventions are used in course materials to distinguish elements
of the text.
Convention

Use

Bold

Represents commands, command options, and syntax that


must be typed exactly as shown. It also indicates
commands on menus and buttons, dialog box titles and
options, and icon and menu names.

Italic

In syntax statements or descriptive text, indicates argument


names or placeholders for variable information. Italic is
also used for introducing new terms, for book titles, and
for emphasis in the text.

Title Capitals

Indicate domain names, user names, computer names,


directory names, and folder and file names, except when
specifically referring to case-sensitive names. Unless
otherwise indicated, you can use lowercase letters when
you type a directory name or file name in a dialog box or
at a command prompt.

ALL CAPITALS

Indicate the names of keys, key sequences, and key


combinations for example, ALT+SPACEBAR.

Monospace

Represents code samples or examples of screen text.

[]

In syntax statements, enclose optional items. For example,


[filename] in command syntax indicates that you can
choose to type a file name with the command. Type only
the information within the brackets, not the brackets
themselves.

{}

In syntax statements, enclose required items. Type only the


information within the braces, not the braces themselves.

In syntax statements, separates an either/or choice.

Indicates a procedure with sequential steps.

...

In syntax statements, specifies that the preceding item may


be repeated.

.
.
.

Represents an omitted portion of a code sample.

You might also like