Training
Certifications
Books
Special Offers
Community




 
Building XML Web Services for the Microsoft® .NET Platform
Author Scott Short
Pages 464
Disk 1 Companion CD(s)
Level All Levels
Published 02/27/2002
ISBN 9780735614062
ISBN-10 0-7356-1406-7
Price(USD) $59.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Index


Send feedback about this index to mspindex@microsoft.com

A
Abort method (SoapHttpClientProtocol class), 193
abstract attribute (service element, WS-Inspection), 385
abstract interface for Web services, 151-54
abstract keyword (ASP.NET), 151
abstract property (XML type declarations), 90
abstractCredential class (WS-License specification), 389
abstractLicense class (WS-License specification), 388
AcceptPO Web method (example), 223
access control lists (ACLs), 301-2
action element (path SOAP header), 394
Action property
   SoapDocumentMethod, SoapRpcMethod attributes (ASP.NET), 145
   SoapMessage class (ASP.NET), 183
activated element (service element, WSDL), 236
Activator class, GetObject method, 242-43
Active Server Pages. See ASP.NET
actor attribute (SOAP), 34-36
Actor property
   SoapException class, 142
   SoapHeader class, 165
actors, SOAP, 32, 34-36
   faultactor element (SOAP), 38
   Kevin Bacon (example), 52-54
add element (protocols element, ASP.NET), 135
Add method (Cache class), 372
Add Web Reference Wizard, WSDL.exe vs., 190
AddArray method (SOAP), 43
address element
   http namespace, 119
   soap namespace, 113
ADO.NET DataSet, serializing instances of, 225
affinity, server, 351
AfterSerialize stage (ProcessMessage method), 178, 180-83
all element (XML Schema), 84
AllowAutoRedirect property
   RemotingClientProxy class, 246
   SoapHttpClientProtocol class, 193
ampersand, encoding in XML Schema, 64
anonymous authentication, 297
anonymous type definitions (XML Schema), 78
any element (XML Schema), 84
anyAttribute element (XML Schema), 84
anyType type (XML Schema example), 84
anyUrl datatype (XML), 211
API for Web services, 9
apostrophe, encoding in XML Schema, 64
Application Log, 336-38
Application property (WebService class, ASP.NET), 160
application state, maintaining in ASP.NET, 160-65
/appsettingbaseurl switch (WSDL.exe), 191-92
/appsettingurlkey switch (WSDL.exe), 191
arrays, encoding in SOAP, 42-46
   optimizing as partial or sparse, 47-49
   WSDL descriptions, 102
arrayType attribute (SOAP), 43
.asmx files, debugging support for, 325-26
ASP.NET, 127-204
   caching data, 365-66
   compiling code, 129-30
   documenting Web services, 136-40
   encoding SOAP styles, 143-50
      encoding references, 146-50
   error raising, 140-42
   interface inheritance, 150-54
   performance counters, 338-43
   proxy code, generating
      cookies, 201-2
      datetime information, 194
      Soapsuds utility, 244-47
      WSDL.exe, 190-202
   Remoting vs., 227-29
   server-side validation, 224
   SOAP extensions, 173-90
      attributes of, 174-76
      initialization, 178-80
      message processing, 180-90
   SOAP headers, defining and processing, 165-73
      unknown headers, 172-73
   state management, 155-65
      application state, 160-65
      session state, 155-59
   transport protocols and bindings, 134-36
   Web service for (example), 128-34
.aspx (Web Form) files, 12-14
   credit card service with, 17-18
   Web service implementation, 128-31
assembly files
   metadata, debugging and, 320-21
   Web service implementation in, 130-31
Assert method (Debug, Trace classes), 327-30
asserting errors, 328-30
asymmetric encryption, 299
asynchronous class to Web methods, 197-200
attendees list (SOAP array example), 47
attribute groups, XML Schema, 86
attributeFormDefault attribute (schema element), 88
attributeGroup element (XML Schema), 86
AttributeName property (XmlAttribute attribute), 215
authentication, 296-301
   .NET Passport, 301, 377-78
   SOAP message header, in, 32
   WS-Security, WS-License specifications, 388-89
authorization and ACLs, 301-2
AuthorizedName property (tModel class, UDDI), 266
AutoFlush property (Debug, Trace classes), 327, 332-33
autogenerated documentation, ASP.NET, 136-40
availability, 347, 354-59
   failover clusters, 355-57
   fault tolerance, 357
   offline operation, 363-64
   third-party Web services, 359-64

B
backup (failover) clusters, 355-57. See also availability
   alternative Web services vs., 360-63
   offline operation, 363-64
   retrying requests and recovery time, 358
Bacon, Kevin, separation from (example), 52-54
base-64 encoding, 21
base64Binary datatype (XML), 65, 211
basic authentication, 297
BeforeSerialize stage (ProcessMessage method), 178, 180-83
BeginInit method (PerformanceCounter class), 342
binary data in XML, 65-67
binary encoding schemes, 7, 102
binary files, transfer service for (example), 19-26
binaryCredentials class (WS-License specification), 389
binaryLicense class (WS-License specification), 388
binding element, WSDL, 106-8
   HTTP GET/POST extensions, 115-19
   SOAP extensions, 110-12
   style attribute, 143
Binding property (SoapDocumentMethod, SoapRpcMethod attributes, ASP.NET), 145, 152-54
binding protocols. See protocol binding
bindingTemplate datatype (UDDI), 262, 271-72
BizTalk Orchestration, 401
block attribute (schema element), 94
Body element (SOAP), 31, 36-38
body element (soap namespace), 112
body of message, encoding. See encoding schemes
boolean datatype (XML), 211
BooleanSwitch class (.NET Framework), 335
bottlenecks to scalability, 353-54
brainstorming security threats, 290-92
browsable discovery, 383
BufferResponse property (WebMethod attribute, ASP.NET), 133
businessEntity datatype (UDDI), 262, 270
BusinessKey property (businessService datatype, UDDI), 271
businessService datatype (UDDI), 262, 271, 283
by reference, passing parameters (SOAP), 49-54
   ASP.NET encoding, 146-50
   complex datatypes with, 82
   simple datatypes with, 78
by value, passing parameters. See XML serialization
byte datatype (XML), 211
Byte type (.NET), 211

C
caching, 365-72
   Cache class (ASP.NET), 369-72
   CacheDependency class (ASP.NET), 370
   CacheDuration property (WebMethod attribute, ASP.NET), 133, 365
Calculator Web service (example), 100, 121-25
call stack continuity, 318-20
caseSensitiveMatch qualifier (UDDI registry find), 277
categorization value (UDDI Type Taxonomy), 279
category bag (businessService datatype, UDDI), 271
CategoryName property (performance counter classes), 342
causality, 317
CDATA datatype (XML), 211
CDATA sections (XML), 65
certificate-based authentication, 299
ChainStream method (SoapExtension class), 176-78, 183-90
channel (Remoting), 230-32, 240
channels element (Remoting), 240
character entities (XML Schema), 64
choice element (XML Schema), 84
CIS (COM Internet Services), 2
Class attribute (WebService class), 129, 131
clear element (protocols element, ASP.NET), 135
Clear method (EventLog class), 338
Client fault code (SOAP), 38
client request frequency. See scalability
client-activated object activation model, 235
ClientCertificates property (SoapHttpClientProtocol class), 193
Close method
   Debug, Trace classes, 327
   EventLog class, 338
   PerformanceCounter class, 342
CLR Debugger, 315
clustering, 349-53
   Cluster service (MSCS), 355-57
   failover clusters, 355-57
   failure recovery time, 358
   partitioning resources for scalability, 352
      fault tolerance, 357
   replication, 352-53
Code property (SoapException class), 141-42
COM Internet Services (CIS), 2
commerce application, example, 12-18
   XML Schema for, 83
communication protocols. See transport protocols
compiling ASP.NET code, 129-30
complex datatypes, XML Schema, 78-85
   element and attribute groups, 86
complexContent element (XML Schema), 80, 84
complexType element (XML Schema), 79, 94
component services, 10
compound types, encoding in SOAP, 41-46
compression algorithm, identifying in SOAP header, 32
Conditional attribute (Debug, Time methods), 327, 330
conditional preprocessor directives, 330
confidentiality header (SOAP), 392-93
confidentiality of messages (WS-Security), 392-93
Configure method (RemotingConfiguration class), 239-40
connection keep-alive protocol (HTTP), 155
ConnectionGroupName property (SoapHttpClientProtocol class), 193
constraining datatypes. See restricted datatypes, XML Schema
contact datatype (UDDI), 262
contactRef element (DISCO), 287
content element (mime namespace), 117
Content-Type header (HTTP), 55
ContentType property (SoapMessage class, ASP.NET), 183
cookies
   CookieContainer class, 201-2
   CookieContainer property (SoapHttpClientProtocol class), 193, 201-2
   cookieless attribute (attributeSessionState element, ASP.NET), 157
   Cookies property (RemotingClientProxy class), 246
   maintaining session state, ASP.NET, 155, 159
   .NET Passport authentication, 301
   proxy code and, 201-2
Count property (Cache class), 371
counters, performance, 338-43
   CounterCreationData class, 340-41
   CounterCreationDataCollection class, 340-41
   CounterExists method (PerformanceCounterCategory class), 342
   CounterHelp property (performance counter classes), 341- 42
counters, performance,
   CounterName property (performance counter classes), 341-42
   CounterType property (performance counter classes), 341- 42
Create method (PerformanceCounterCategory class), 343
CreateEventSource method (EventLog class), 338
credentials (authentication), 296-301
   credentials header (SOAP messages), 388-89
   Credentials property (SoapHttpClientProtocol class), 193
   WS-Security, WS-License specifications, 388-89
credit card information, validating, 13-18
custom XML serialization, 225

D
data caching, 365-72
data stored insecurely, 307-8
data stream encryption and signing, 304-6
data tampering, 291
   mitigation techniques, 292
DataSet (ADO.NET), serializing instances of, 225
DataType property
   XmlAttribute attribute, 215
   XmlElement attribute, 212
   XmlRoot attribute, 208
datatypes, XML Schema
   built-in, 62-67
   constraining, 74-75
   custom, 73
   derived (XML serialization), 220-21
   deriving by list/union, 77
   deriving from other datatypes, 220-21
   element and attribute groups, 86
   mapping between XML and .NET, 211
   mapping with .NET types, 211
   message contents, for, 8
   named vs. anonymous definitions, 78
   polymorphism, 89-92
   restricting inheritance, 92-95
datatypes for DTDs (DT4DTD standard), 61
date datatype (XML), 211
dateTime datatype (XML), 211
datetime information for proxy code, 194
DateTime type (.NET), 211
DateType property (XmlArrayItem attribute), 207
dbgproxy service, 317
DCOM (Distributed Component Object Model), 1, 317-18
Debug attribute (WebService directive), 325
Debug class (System.Diagnostics namespace), 326-36
/debug switch (Visual C# compiler), 321-22
DEBUG symbol, 327-28
Debuggable attribute, 323
debugging, 315-45
   assembly metadata, 320-21
   call stack continuity, 318-20
   debuggers, 315-16
      enabling tracking at run time, 324
      information needed by, 320-26
   DebuggerStepThrough attribute, 196
   instrumentation, 326-43
      Event Log, 336-38
      performance counters, 338-43
      tracing, 326-36
   remote, 317-18
   tips and tricks, 343-44
decimal datatype (XML), 63, 73, 211
Decimal type (.NET), 211
Decrement method (PerformanceCounter class), 342
Decrypt method (.NET Framework), 304
default actors, SOAP, 32
DefaultTraceListener class (.NET Framework), 333-34
#define directive (preprocessor conditional), 328, 330
/define switch (Visual C# compiler), 328
definitions element (WSDL), 98-100
   name and document attributes, 100, 120
Delete method
   EventLog class, 338
   PerformanceCounterCategory class, 343
delete_ methods (UDDI API), 259
DeleteEventSource method (EventLog class), 338
denial of service (DoS) attacks, 291, 293
derived datatypes, XML serialization, 220-21
deriving by list/union (XML Schema), 77
description element
   UDDI datatypes, 265
   WS-Inspection specification, 385
description mechanisms, 4, 8
Description property (WebService, WebMethod attributes, ASP.NET), 133, 136
deserialization. See XML serialization
Detail property (SoapException class), 142
Developer Edition, UDDI, 261
DidUnderstand property (SoapHeader class), 165, 171-72
digest authentication, 298
digital signatures in SOAP header, 33
Direction property (SoapHeader class, ASP.NET), 168-69
discard_authToken method (UDDI API), 259
disclosure-of-information threats, 291, 307
   mitigation techniques, 293
DISCO technology, 284-87. See also discovery
   generating proxy code, 192
   Visual Studio .NET and, 285-87
   WS-Inspection specification (GXA) vs., 384-87
discovery, 4, 9, 255-88. See also remote
   browsable, 383
   DISCO. See DISCO technology
   Discover method (SoapHttpClientProtocol class), 193
   UDDI. See UDDI
discoveryRef element (DISCO), 286
DisplayUsage method (example), 25
Disposed event (SoapHttpClientProtocol class), 193
document attribute (definitions element, WSDL), 120
Document encoding style (SOAP), 143
document type definitions (DTDs), XML, 60-61
documentation with ASP.NET, 136-40
documentation with WSDL. See WSDL documents
document-oriented SOAP messages, 36-37
-domain parameter (Soapsuds), 244
Domain property (RemotingClientProxy class), 246
/domain switch (WSDL.exe), 191
DoS (denial of service) attacks, 291, 293
double datatype (XML), 73, 211
double quotes, encoding in XML Schema, 64
Double type (.NET), 211
DTDs (document type definitions), XML, 60-61
duration datatype (XML), 211
dynamic application topologies (GXA), 399-400
dynamicDiscovery element (DISCO), 286

E
edge servers, 399-400
element attribute (part attribute, WSDL), 103
element element (XML Schema), 72
element groups, XML Schema, 86
Element property (SoapUnknownHeader class, ASP.NET), 172
elementFormDefault attribute (schema element), 88
ElementName property
   XmlArray attribute, 207
   XmlArrayItem attribute, 207
   XmlElement attribute, 212
   XmlRoot attribute, 208
elevation-of-privilege threats, 291, 293
#else directive (preprocessor conditional), 330
EnableCookies property (RemotingClientProxy class), 246
EnableRaisingEvents property (EventLog class), 338
EnableSession property (WebMethod attribute, ASP.NET), 133, 157
EncodedMustUnderstand property (SoapHeader class), 165
encoding schemes, 5-7
   base-64 encoding, 21
      base64Binary datatype (XML), 65, 211
encoding schemes,
   binary data in XML, 65-67
   messages. See message format
   SOAP, 41-54, 143-50
      arrays, 42-49
      encoding references, 146-50
      structures, 41
      XML Schema datatypes, 82-83
   URLs in query strings, 116
   XML Schema special characters, 64
encodingStyle attribute (soap:body element), 112
Encrypt method (.NET Framework), 304
#endif directive (preprocessor conditional), 330
EndInit method (PerformanceCounter class), 342
Enterprise Server, UDDI, 261
ENTITY, ENTITIES datatypes (XML), 211
Entries property (EventLog class), 338
EntryWritten event (EventLog class), 338
enumeration datatype (XML), 74, 76
Envelope element (SOAP), 31
ERP (Enterprise Resource Planning), transport protocols with, 6
errors. See also debugging
   asserting, 328-30
   displaying friendly messages, 343
   faults in WSDL operations, 105
   raising in ASP.NET, 140-42
   reporting, SOAP (Fault element), 37-38
   rethrowing exceptions, 319-20
   unknown SOAP headers, 172-73
event tracing, 326-36
   asserting errors, 328-30
   conditional preprocessor directives, 330
   Event Log, 336-38
      EventLog class, 337-38
      EventLogTraceListener class (.NET Framework), 333- 34
   trace listeners, 333
   trace log, 331-33
   trace switches, 334-36
exactNameMatch qualifier (UDDI registry find), 277
Exception property (SoapMessage class, ASP.NET), 183
exceptions, rethrowing, 319-20
Exists method
   EventLog class, 338
   PerformanceCounterCategory class, 343
extended datatypes, XML Schema, 80-82
extensibility elements, WSDL, 100, 109-20
   binding, WSDL, 107
   Suds extension elements, 252
extension element (XML Schema), 80

F
Fail method (Debug, Trace classes), 327, 329
failover clusters, 355-57. See also availability; scalability
   alternative Web services vs., 360-63
   offline operation, 363-64
   retrying requests and recovery time, 358
failure recovery time, 358
fault codes, SOAP, 38
Fault element (SOAP), 37-38
   raising SoapException errors in ASP.NET, 140-42
fault element (WSDL operations), 105
fault tolerance, 357
faultactor element (SOAP), 38
faultstring element (SOAP), 38
Fibonacci series (example), 49
file sharing application (example), 19-26
files, obtaining from remote computer (example), 236-40
final attribute (complexType element), 94
finalDefault attribute (schema element), 94-95
find_ methods (UDDI API), 259, 276-77
firewalls, HTTP POST binding with, 54-56
Fixed Name publication (WS-Inspection), 386
float datatype (XML), 63, 211
Flush method (Debug, Trace classes), 327, 332
form attribute (XML Schema), 88
Form property
   XmlArray attribute, 207
   XmlArrayItem attribute, 207
   XmlAttribute attribute, 215
   XmlElement attribute, 212
   XmlRoot attribute, 208
format, message. See message format
formatter, Remoting, 230-32
forms-based authentication, 301
fractionDigits datatype (XML), 75
future of Web services, 373-406
   GXA (Global XML Web Services Architecture), 382-400
   .NET My Services, 373-82
   Orchestration, 400-5

G
gDay, gMonth, gMonthDay, gYear, gYearMonth datatypes (XML), 211
-generatecode parameter (Soapsuds), 244
generic attribute (UDDI messages), 258
Get method (Cache class), 372
GET method (HTTP)
   ASP.NET binding support, 134
   extension to WSDL, 113-17
get_ methods (UDDI API), 259, 276-77
GetCategories method (PerformanceCounterCategory class), 343
GetCounters method (PerformanceCounterCategory class), 343
GetDirectory method (example), 238
GetEnumerator method (Cache class), 372
GetEventLogs method (EventLog class), 338
GetFile method (example), 21-24, 237-38
   retrieving SOAP headers, 249-50
GetInitializer method (SoapExtension class), 176-80
GetInParameterValue method (SoapMessage class, ASP.NET), 183
GetInstanceNames method (PerformanceCounterCategory class), 343
GetObject method (Activator class), 242-43
GetOutParameterValue method (SoapMessage class, ASP.NET), 183
GetReturnValue method (SoapMessage class, ASP.NET), 183
GetSchema method (IXmlSerializable interface), 225
global scope, XML Schema, 86-88
Global XML Web Services Architecture (GXA), 306, 382-400
   dynamic application topologies, 399-400
   WS-Inspection specification, 384-87
   WS-Referral specification, 396-99
   WS-Routing specification, 393-95
   WS-Security, WS-License specifications, 387-93
global.asax file, 160
Grabber.NET application (example), 229-52
   client side of, 241-47
   generating WSDL, 250-51
   Licensing Web service, 232-36
      activation models, 234-36
      adding SOAP headers, 247-50
   SoapFileShare Web service, 236-40
group element (XML Schema), 86
GXA (Global XML Web Services Architecture). See Global XML Web Services Architecture

H
hashes for passwords, 307-08
Header class (Remoting), 247-50
Header element (SOAP), 31, 32-36
   actor attribute, 33
   mustUnderstand attribute, 33
   namespace info in, 69
   required attribute, 170
HeaderNamespace property (Header class), 247
headers, message. See message format; message headers
Headers property (SoapMessage class, ASP.NET), 183
help documentation, ASP.NET, 138-39
hexBinary datatype (XML), 65, 211
HostingRedirector property (bindingTemplate datatype, UDDI), 271-72
href attribute (wsdlHelpGenerator element, ASP.NET), 139
href attribute (XML Schema), 82
HSDI messages, 379-82
http: namespace, 115-20
HTTP protocol, 5-6
   building Web services when not using, 228
   connection keep-alive protocol, 155
   cookies. See cookies
   GET and POST methods
      ASP.NET binding support, 134
      extensions to WSDL, 113-20
      SOAP bindings, 54-56
   message headers, 7
      Content-Type header, 55
      HTTPAction header, 144
      SOAPAction header, 55-56, 110, 144
   transferring binary files over (example), 19-26
HttpApplicationState class (ASP.NET), 160
HTTPMon utility, 358
-httpproxyname parameter (Soapsuds), 244
-httpproxyport parameter (Soapsuds), 244
HttpSessionState class (ASP.NET), 157
hydration service (BizTalk Orchestration), 401-5

I
ICollection interface (ASP.NET), 159
id attribute (XML Schema), 82
id element (path SOAP header), 394
ID, IDREF, IDREFS datatypes (XML), 211
identifier bag (tModel datatype), 266
identifier value (UDDI Type Taxonomy), 279
identity spoofing, 291-92
IEnumerable interface (ASP.NET), 159
#if directive (preprocessor conditional), 330
IIS authentication, 387
import element (WSDL), 120
   autogenerated documentation, ASP.NET, 153
   namespace and location attributes, 120
IncludeInSchema (XmlType attribute), 213
Increment method (PerformanceCounter class), 340, 342
IncrementBy method (PerformanceCounter class), 342
Indent method (Debug, Trace classes), 327, 332
IndentLevel property (Debug, Trace classes), 327, 332
IndentSize property (Debug, Trace classes), 327, 332-33
information disclosure, 291, 293, 307
inheritance
   interface, ASP.NET, 150-54
   restricting in XML Schema, 92-95
   XML Schema inheritance groups, 89-91
initialization vector (IV), 306
initialization with SOAP extensions to ASP.NET, 180-90
Initialize method (SoapExtension class), 176-80
InnerException property (SoapException class), 142
input element (WSDL operations), 105
-inputassemblyfile parameter (Soapsuds), 244
-inputdirectory parameter (Soapsuds), 245
-inputschemafile parameter (Soapsuds), 245
inquiry methods, UDDI API, 258-60
insecure data storage, 307-8
Insert method (Cache class), 372
inspection element (WS-Inspection), 385
instance documents, XML, 62, 68
   allowing extended information, 221-23
   XML Schema Instance namespace, 72
InstanceExists method (PerformanceCounterCategory class), 343
InstantName property (PerformanceCounter class), 342
instrumenting Web services, 326-43
   Event Log, 336-38
   performance counters, 338-43
   tracing, 326-36
Int datatype (XML), 63, 211
Int32 type (.NET), 211
   passing by reference, ASP.NET, 148-49
Int64 type (.NET), 211
integer datatype (XML), 63
integers in XML Schema, 63
integrity and privacy, 302-3
   integrity header (SOAP), 390
   SOAP message integrity, 390-92
interface inheritance, ASP.NET, 150-54
intermediaries, SOAP, 32
Internet, reliability of, 2
introducing people (SOAP example), 50-52
ISerializable interface (Remoting), 233
IsJITTrackingEnabled property (Debuggable attribute), 323- 24
IsNullable property
   XmlArray attribute, 207
   XmlArrayItem attribute, 207
   XmlElement attribute, 212
   XmlRoot attribute, 208
Item property (Cache class), 371
IV (initialization vector), 306
IXmlSerializable interface, 225

J
jagged array, encoding in SOAP, 45-46
JIT compiler tracking information, 322-25

K
Kerberos authentication, 299, 377

L
Language attribute (WebService class), 129
language datatype (XML), 211
/language switch (WSDL.exe), 191-92
length datatype (XML), 74
less than sign, encoding in XML Schema, 64
Licensing Web service (example), 232-36
   activation models, 234-36
   adding SOAP headers, 247-50
   client-side access, 241-47
   generating WSDL, 250-51
link element (WS-Inspection), 385
Linked publication (WS-Inspection), 386
list, deriving XML Schema datatypes by, 77
Listeners property (Debug, Trace classes), 327, 334
ListFiles method (example), 21-22, 24
load balancing, 349-51
LOB application, 353-54
local scope, XML Schema, 86-88
location attribute
   description element (WS-Inspection), 385
   http:operation element, 117
   import element (WSDL), 120
location of remote service. See discovery
Lock method (application object), 162-64
Log property (EventLog class), 338
LogDisplayName property (EventLog class), 338
LogNameFromSourceName method (EventLog class), 338
long datatype (XML), 211


Next



Last Updated: February 6, 2002
Top of Page