schema instance documents, Writing a Schema Explicitly
associating schemas with, Associating Schemas with Instance Documents
defined, Writing a Schema Explicitly
locating schemas, Associating Schemas with Instance Documents
schemaLocation attribute, Associating Schemas with Instance Documents
SchemaHandler1.ashx sample code, Using the XML DOM API, Custom Clients
schemaRef elements, The DISCO Specification
schemas
abstract types, Advanced Schema Features, Using Wsdl.exe
all elements, Complex Types, Creating Choices with [XmlElement] and [XmlChoiceIdentifier]
anonymous types, Anonymous Types
any elements, Complex Types, Setting WildCards with [XmlAnyElement] and [XmlAnyAttribute]
anyAttribute elements, Complex Types, Setting WildCards with [XmlAnyElement] and [XmlAnyAttribute]
arbitrating between platforms, The Role of Schemas in Web Services
array serialization, Customizing Arrays with [XmlArray] and [XmlArrayItem], Marker Interfaces for [XmlArray] and [XmlArrayItem]
associating with instance documents, Associating Schemas with Instance Documents
attribute elements, Declaring Attributes, Complex Types
attribute groups, Element and Attribute Groups
attributeFormDefault attribute, The Root <schema> Element
attributes for elements, Adding Restrictions
attributes, setting for serialization, Setting XML Attributes with [XmlAttribute], Setting XML Attributes with [XmlAttribute]
choice elements, Complex Types, Creating Choices with [XmlElement] and [XmlChoiceIdentifier], Creating Choices with [XmlElement] and [XmlChoiceIdentifier]
class generation from , see xml schema definition tool
complex type content, Simple, Mixed, and Complex Content in Complex Types
complex type creation, Complex Types
complexContent elements, Simple, Mixed, and Complex Content in Complex Types
complexType elements, Complex Types
constraints for types, table of, Custom Simple Types, Table 6-2: Schema Simple Type Constraints
content in types, Simple, Mixed, and Complex Content in Complex Types
creating, approaches to, The Role of Schemas in Web Services
creation, explicit , Writing a Schema Explicitly
creation, implicit, Writing Schemas Implicitly
DataSet objects, typed, Typed DataSet Objects, Typed DataSet Objects
declaring attribute elements, Declaring Attributes
declaring custom types, Declaring Custom Types, Anonymous Types
declaring elements, Declaring Elements, Empty and Nillable Elements
default values of elements, setting, Adding Restrictions
document/literal attribute, Working with Document/Literal Services, Important
element elements, Declaring Elements, Empty and Nillable Elements
element groups, Element and Attribute Groups
elementFormDefault attribute, The Root <schema> Element
elements, tagging fields as, Setting XML Elements with [XmlElement], Setting XML Elements with [XmlElement]
empty elements, Empty and Nillable Elements
enumeration serialization, Customizing Enumerations with [XmlEnum], Customizing Enumerations with [XmlEnum]
explicit creation of, Writing a Schema Explicitly
fixed attribute, Adding Restrictions
form attribute, Adding Restrictions, Setting XML Attributes with [XmlAttribute]
global declarations, Declaring Elements
groups, Element and Attribute Groups
ignoring members for serialization, Bypassing Class Members with [XmlIgnore]
implicit creation, Writing Schemas Implicitly
incorporating into services, approaches to, Incorporating a Schema into Your Web Service
inheritance model, Advanced Schema Features
IXmlSerializable, Serializer-Unfriendly Classes
maxOccurs attributes, Adding Restrictions, Table 6-3: Wildcard Constraints, Customizing Arrays with [XmlArray] and [XmlArrayItem]
minOccurs attributes, Adding Restrictions, Table 6-3: Wildcard Constraints, Customizing Arrays with [XmlArray] and [XmlArrayItem]
namespace definition, The Root <schema> Element, The Root <schema> Element
namespace setting with WebService, Identifying the Service with [WebService], Identifying the Service with [WebService]
namespaces for wildcards, Table 6-3: Wildcard Constraints
namespaces, scope of, Namespace Scoping Issues
nillable elements, Empty and Nillable Elements
occurences of elements, setting, Adding Restrictions, Table 6-3: Wildcard Constraints
prefixes for elements, The Root <schema> Element
prefixes for namespaces, The Root <schema> Element
purpose of, The Role of Schemas in Web Services
referencing attributes of other schemas, Declaring Attributes
request root serialization, Finalizing Message Class Definitions with [XmlRoot] and [XmlType], Finalizing Message Class Definitions with [XmlRoot] and [XmlType]
response root serialization, Finalizing Message Class Definitions with [XmlRoot] and [XmlType], Finalizing Message Class Definitions with [XmlRoot] and [XmlType]
root element for, The Root <schema> Element, The Root <schema> Element
schema elements, The Root <schema> Element, The Root <schema> Element
Section 5 encoding, Serialization Attributes for Encoded Services
sequence elements, Complex Types
serialization problems, What the Serializer Doesn’t Do, Using Wsdl.exe
serializer unfriendly classes, Serializer-Unfriendly Classes
service identification, Identifying the Service with [WebService], Identifying the Service with [WebService]
simple type creation, Custom Simple Types
SOAP Section 5 attributes, Serialization Attributes for Encoded Services
SOAP with, SOAP, WSDL, Encoding, and Styles
SoapDocumentMethod attribute with, Wrapping It All Up with [SoapDocumentMethod], Table 6-14: Properties of the [SoapDocMethod] Attribute
SoapDocumentService method, Working with Document/Literal Services, Setting Service Defaults with [SoapDocumentService]
System.Xml serializer, Writing Schemas Implicitly, Setting Service Defaults with [SoapDocumentService], Setting XML Elements with [XmlElement]
targetNamespace attribute, The Root <schema> Element, The Root <schema> Element
text nodes, setting for serialization, Setting Text Nodes with [XmlText], Setting Text Nodes with [XmlText]
type serialization, Finalizing Message Class Definitions with [XmlRoot] and [XmlType], Table 6-11: Properties of the [XmlType] Attribute
types for elements, Declaring Elements
types, anonymous, Anonymous Types
types, creating complex , Complex Types
types, creating simple, Custom Simple Types
types, declaring custom, Declaring Custom Types, Anonymous Types
typing elements with, The Role of Schemas in Web Services
use attribute, Declaring Attributes
Web methods, generated from, WSDL and Web Methods
WebService attribute, Identifying the Service with [WebService], Identifying the Service with [WebService]
wildcard constraints, Complex Types, Setting WildCards with [XmlAnyElement] and [XmlAnyAttribute], Setting WildCards with [XmlAnyElement] and [XmlAnyAttribute]
WSA proposals for, Schemas
wsdl.exe for service creation, Using Wsdl.exe
xmlns attribute, The Root <schema> Element
xsd.exe , see xml schema definition tool
Schematron, Schemas
searching for Web services., see uddi
security
access control. , see acls
authentication. , see authentication
authorization. , see authorization
communication methods, Secure Communication, Concerns with Custom Cryptography
confidentiality requirement, Security Requirements
GXA. , see ws-security
hash values, Integrity Through Signing
HTTPS for, Security Problems
integrity requirement, Security Requirements
key creation, Shared Key Encryption
SignatureOptions enumeration, Signing Parts of the Message
SSL, SSL
users. , see users
Windows overview, Windows Security
WS-Security. , see ws-security
WSE. , see ws-security
X509 certificates, <wsse:BinarySecurityToken> element, Confidentiality Through Encryption
X509. , see x509 certificates
security tokens, Security Tokens, <wsse:BinarySecurityToken> element
Semantic Web Activity, WSDL
serialization
abstract type bug, Advanced Schema Features
arrays in schemas, Customizing Arrays with [XmlArray] and [XmlArrayItem], Marker Interfaces for [XmlArray] and [XmlArrayItem]
choice elements in schemas, Creating Choices with [XmlElement] and [XmlChoiceIdentifier], Creating Choices with [XmlElement] and [XmlChoiceIdentifier]
DataReader objects with, DataReader Objects, DataReader Objects
document/literal attribute, Working with Document/Literal Services, Setting Service Defaults with [SoapDocumentService]
elements, tagging fields as, Setting XML Elements with [XmlElement], Setting XML Elements with [XmlElement]
enumerations in schemas, Customizing Enumerations with [XmlEnum], Customizing Enumerations with [XmlEnum]
ignoring schema members, Bypassing Class Members with [XmlIgnore]
IXmlSerializable, Serializer-Unfriendly Classes
place in request process, The Life Cycle of a Web Service Request
roots of schemas, Finalizing Message Class Definitions with [XmlRoot] and [XmlType], Finalizing Message Class Definitions with [XmlRoot] and [XmlType]
Runtime.Serialization, The Other .NET Serializer
schema problems with, What the Serializer Doesn’t Do, Using Wsdl.exe
skipping, reasons for, HTTP Handlers
SOAP, SOAP 1.1, How .NET Handles Structs in the SOAP Body, SOAP Message Validation
SOAP 1.2 support lacking, HTTP Handlers, Working with XML Directly
SoapDocumentMethod attribute for schemas, Wrapping It All Up with [SoapDocumentMethod], Table 6-14: Properties of the [SoapDocMethod] Attribute
SoapDocumentService method, Working with Document/Literal Services, Setting Service Defaults with [SoapDocumentService]
text nodes, setting for, Setting Text Nodes with [XmlText], Setting Text Nodes with [XmlText]
text with, Working with XML Directly
types in schemas, Finalizing Message Class Definitions with [XmlRoot] and [XmlType], Table 6-11: Properties of the [XmlType] Attribute
wildcard settings for schema, Setting WildCards with [XmlAnyElement] and [XmlAnyAttribute], Setting WildCards with [XmlAnyElement] and [XmlAnyAttribute]
XmlAttribute with schemas, Setting XML Attributes with [XmlAttribute], Setting XML Attributes with [XmlAttribute]
XmlElement attribute with, Setting XML Elements with [XmlElement], Setting XML Elements with [XmlElement]
server certificates
defined, SSL
server-controlled routing
building custom routing, Building the Custom Router
clients, The Client
configuring servers, Server Configuration
custom routing overview, Custom Routing
defined, Chapter 14: Routing and Referral
multiple routers, Multiple Routers on the Same Server
output filters, The SOAP Messages
purpose of, Server-Controlled Routing
SOAP headers for, The SOAP Messages
Web service example for, The Web Service
Web service for custom routing, Creating the Web Services
working routers, Working Routers
WSDL for, WSDL for the Router
service elements, WSDL, The Core Framework, The <service> Element
services
WSDL, The Anatomy of WSDL
Services namespace, Web Service Classes and Namespaces
Session objects
exposing, Managing State
state with, Session State
session state
handlers with, Taking Care with Session State
Session variables, When Should You Maintain State?
settable properties
exposing as services, The WebMethod Attribute
Web methods prohibited with, When Should You Maintain State?
shared key encryption, Shared Key Encryption, The Web Service
signatures
client for, The Client
hash values, X509 Certificate Security
overview, Message Signing and Encrypting
partial-message, Signing and Encrypting Parts of the Message, The Web Service
personal certificates, obtaining, Personal Certificates
purpose of, Security Requirements
SecurityToken properties for, The SecurityToken Class
Web service for checking, The Web Service
X509 for. , see x509 certificates
signatures, security with, Integrity Through Signing
simple client example, A Simple Windows Forms Client, Adding a Reference
simple example in Visual Studio .NET, A Simple Example in Visual Studio .NET, Project Files
simple example in Web matrix, A Simple Example in Web Matrix
simple Notepad example, A Simple Example in Notepad
Simple Object Access Protocol., see soap
simple services
defined, Simple Services
SimpleHandler1.ashx, The IHttpHandler Interface
SimpleHandler2.ashx, Accounting for Request Types
SimpleRecordFinder sample service, The Anatomy of WSDL
SMTP
SOAP over, What Is SOAP?
SOAP, What Is SOAP?
Action property, Document Format
actor attribute, SOAP actor or role Attribute, SOAP actor or role Attribute
advantages of, Chapter 2: Web Services and SOAP
arrays in bodies, How .NET Handles Arrays in the SOAP Body, Array Handling
ASPNETclient.cs, The Web Service Communication Class
authenticating users with, The SOAP Header, Sending Information via SOAP Headers
Binding property, Document Format
bindings to non-HTTP protocols, Binding to Other Protocols
body request, The SOAP Body, SOAP Body Request
body response, SOAP Body Response
Body section, The SOAP Message Structure, The SOAP Body, SOAP Body Response, The <soap:body> element, The <soap:body> element
capturing messages, Capturing SOAP Messages
Code property, The Code Object, The Code Object
Content-type header, SOAP Content Type
creating headers, Processing and Building a SOAP Header with .NET, The SoapHeader Attribute’s Attributes
data packets, What Is SOAP?
datasets, sending over, Sending Datasets via an Application, The ASP.NET Client
defined, Chapter 2: Web Services and SOAP
detail element, <detail>
Diffgrams in, The ASP.NET Client
Direction attribute, The SoapHeader Attribute’s Attributes
document format, SOAP Message Validation, Document Format
document-literal style, SOAP Message Validation
encodingStyle attribute, RPC Representation
encrypting messages, Encrypting Portions of a SOAP Message
Envelope section, The SOAP Message Structure, The SOAP Envelope, SOAP Body Request
error messages, The ASP.NET Client
exceptions, SOAP Exceptions and Errors, Example of Passing a Fault
extending, Extending SOAP
extensions. , see soap extensions
fault elements, The <fault> Element, Example of Passing a Fault
faultcode elements, <faultcode>, <faultcode>
faultfactor element, <faultactor>
faultstring elements, <faultstring>
features, SOAP 1.2
formats, changing, SOAP Message Formats
framework nature of, What Is SOAP?
handlers for. , see xml handlers
handling faults, Example of Passing a Fault
Header section, The SOAP Message Structure, The <soap:header> element, The <soap:header> element
headers, Chapter 2: Web Services and SOAP, The SOAP Header, SOAP 1.2 Relay Header, SOAP Headers
history of, The Current State of the SOAP Standard
HTTP, sending over, Sending SOAP over HTTP, SOAPAction Header
HTTP-GET method, HTTP-GET
HTTP-POST, Sending Information via HTTP-POST, SOAPAction Header, HTTP-POST
HTTP-SOAP requests, Accounting for Request Types, Using the Predefined HTTP Handlers
intermediaries, What Is SOAP?, The SOAP Header
layering over HTTP, What Is SOAP?
manual construction of messages, Sending Datasets via an Application
message exchange patterns, SOAP 1.2
message formats, changing, SOAP Message Formats
message structure of, The SOAP Message Structure
message validation, SOAP Message Validation, Array Handling
modules, SOAP 1.2
mustUnderstand attribute, SOAP mustUnderstand Attribute, SOAP mustUnderstand Attribute
namespaces for, The SOAP Message Structure, Namespaces in SOAP 1.2, RPC Representation, Soap Header Block
next role, SOAP actor or role Attribute
nodes, SOAP 1.2
none role, SOAP actor or role Attribute
OneWay property, Document Format
ParameterStyle property, Document Format
parts, Document Format
purpose of, Chapter 2: Web Services and SOAP, What Is SOAP?
Reason elements, <faultstring>
RecordFinder sample service, The Web Service
relay headers, SOAP 1.2 Relay Header
RequestElementName property, Document Format
RequestNamespace property, Document Format
Required attribute, The SoapHeader Attribute’s Attributes
ResponseElementName property, Document Format
ResponseNamespace property, Document Format
role attribute, SOAP actor or role Attribute, SOAP actor or role Attribute
roles, SOAP 1.2
root element of messages, Summary
routing. , see ws-routing
RPC representation, SOAP Message Validation, RPC Representation, RPC-Oriented Messages and Types
schemas for, SOAP, WSDL, Encoding, and Styles
section 5 encoding, SOAP Message Validation, SOAP Encoding, Array Handling, SOAP, WSDL, Encoding, and Styles, Table 6-5: Properties of the [SoapDocumentService] Attribute, Serialization Attributes for Encoded Services
security of, What Is SOAP?
sending, Sending SOAP over HTTP, SOAPAction Header
serialization namespace, Namespaces
serialization of data, SOAP 1.1, How .NET Handles Structs in the SOAP Body, SOAP Message Validation
simple types in bodies, Simple Types in a SOAP Body, Simple Types
SMTP with, What Is SOAP?
soap prefix, Namespaces
SOAPAction header, SOAPAction Header, Changing the SOAP Action
SoapException objects, The SoapException Object, The SoapException Object
SoapHeader attribute, Processing and Building a SOAP Header with .NET, The SoapHeader Attribute’s Attributes
SoapHeader class, Processing and Building a SOAP Header with .NET, Sending Information via SOAP Headers, SOAP Headers
SOAPSender.aspx example, The ASP.NET Client
specifications for, SOAP 1.1, SOAP 1.2
standards for, What Is SOAP?, The Current State of the SOAP Standard, SOAP 1.2
structs in bodies, How .NET Handles Structs in the SOAP Body, Structures
structure of, Chapter 2: Web Services and SOAP, The SOAP Message Structure
subelements, Document Format
tns namespace, RPC Representation
trace utility, Capturing SOAP Messages
type information in, RPC Representation
TypeId property, Document Format
ultimateReceiver role, SOAP actor or role Attribute
unknown headers, Unknown Headers
Use property, Document Format
validation, Adding Validation
validation of messages, SOAP Message Validation, Array Handling
version 1.1, SOAP 1.1
version 1.2, Namespaces in SOAP 1.2, SOAP 1.2, Changes to Bindings in SOAP 1.2, HTTP-POST, HTTP Handlers
Web pages, sending from, The Web Service Communication Class, The ASP.NET Client
WSA changes proposed, HTTP, SOAP
WSDL binding extensions, SOAP Binding Extensions, The <soap:address> element
WSDL part elements, The <message> Element, The <message> Element
WSDL with, SOAP and WSDL
WSDL, message formats with, SOAP Message Formats, RPC-Oriented Messages and Types
XML DOM API for handlers, Using the XML DOM API, Adding Validation
XML Schema with, Namespaces
XML streaming API for handling, Using the XML Streaming API
XML-RPC, The Current State of the SOAP Standard
xsd prefix, Namespaces
1.2 version, SOAP
SOAP (Simple Object Access Protocol)
Body elements, SOAP
DTDs prohibited in, SOAP
elements, main, SOAP
Envelope elements, SOAP
Header elements, SOAP
life cycle of requests, place in, The Life Cycle of a Web Service Request
message specifications, SOAP
namespaces, SOAP
overview, SOAP
SOAP encoding, SOAP Message Validation, SOAP Encoding, Array Handling
SOAP envelopes
WSE, relation to, The Structure of WSE
SOAP extensions, Chapter 10: Extending the Web Services Framework
advantages of, A Message’s Life Cycle
ASMX handlers, An Autonomous SOAP Extension
attribute triggers, creating, Creating a SOAP Extension Attribute
autonomous, An Autonomous SOAP Extension, Figure 10-8: The order of method calls during the life of a SOAP extension
ChainStream method, The SoapExtension Class, Implementing ChainStream, Implementing ChainStream
changing messages with, Changing the SOAP Message Using Your Extension, Implementing ChainStream
checking requests with, A Targetable SOAP Extension
clients for, An Autonomous SOAP Extension, Completing the Extension
clients, placing on, SOAP Extensions on the Client, Encrypting Portions of a SOAP Message
creating targetable, Creating the SOAP Extension
deploying, An Autonomous SOAP Extension, Deploying Autonomous SOAP Extensions, Completing the Extension
encryption with, Encrypting Portions of a SOAP Message
GetInitializer method, The SoapExtension Class, Creating the SOAP Extension, Understanding GetInitializer and Initialize
groups, Multiple Extensions in One Application
HTTP modules, compared to, HTTP Modules vs. SOAP Extensions, Practical Applications
Initialize method, The SoapExtension Class, Creating the SOAP Extension, Understanding GetInitializer and Initialize
message lifecycle, A Message’s Life Cycle, Figure 10-2: SOAP extensions work within the default ASMX handlers.
multiple per application, Multiple Extensions in One Application, Figure 10-8: The order of method calls during the life of a SOAP extension
parameter acquisition, Creating the SOAP Extension
priority values, Multiple Extensions in One Application, Creating a SOAP Extension Attribute
ProcessMessage method, Overriding ProcessMessage, Overriding ProcessMessage, Completing the Extension, Implementing ChainStream, Implementing ChainStream
scenarios for, Building SOAP Extensions
SimpleExtension example, An Autonomous SOAP Extension
SoapExtension class, The SoapExtension Class, The SoapExtension Class, Understanding GetInitializer and Initialize
SoapExtensionAttribute class, Creating a SOAP Extension Attribute
SoapMessage objects, Overriding ProcessMessage, Overriding ProcessMessage
Stage property, Overriding ProcessMessage, Overriding ProcessMessage
Stream property, Overriding ProcessMessage
targetable, A Targetable SOAP Extension, Figure 10-10: The LessThanExtension SOAP extension in action
uses for, Practical Applications
web.config for, An Autonomous SOAP Extension, Deploying Autonomous SOAP Extensions
WSE in, WSE at the Server, Under the Covers
SOAP headers
partial-message encryption, Signing and Encrypting Parts of the Message, The Web Service
SOAP Toolkit, Using the SOAP Toolkit
SOAPBuilders, The March Toward Interoperability
SOAPClient, Using the SOAP Toolkit
SoapContext class, WSE, The SoapContext Object, The SoapContext Object, WSE at the Client, Under the Covers, WSE at the Server
SoapDocumentMethod attribute, Document Format, Doc-Lit vs. RPC Encoding
properties of, Wrapping It All Up with [SoapDocumentMethod], Table 6-14: Properties of the [SoapDocMethod] Attribute
schemas with, Wrapping It All Up with [SoapDocumentMethod], Table 6-14: Properties of the [SoapDocMethod] Attribute
SoapDocumentService attribute, Doc-Lit vs. RPC Encoding
SoapDocumentService method, Working with Document/Literal Services, Setting Service Defaults with [SoapDocumentService]
SoapException, Exceptions
SoapHttpClientProtocol class, WSE at the Client
SoapRpcMethod attribute, RPC Representation, Doc-Lit vs. RPC Encoding, The OneWay Property
SoapRpcService attribute, Doc-Lit vs. RPC Encoding
SQL Injection attacks
DataSet code allowing, ADO.NET Data Access Recommendations
SQL Server 2000
SQLXML, SQLXML
SQLServer
state management with, Out-of-Process State
SSL (Secure Sockets Layer), SSL
standards, ongoing work on, The Standards
state management
Application objects, exposing, Managing State
application state, Application State
ASP.NET for, Integrating ASP.NET’s Built-in State Facility into Web Services, Custom Cookies
choices of methods for, Managing State
cookies for, Custom Cookies
determining need for, When Should You Maintain State?
disadvantages of, When Should You Maintain State?
enabling, EnableSession Property, EnableSession Property
in-memory state, In-Memory State
out-of-process state, Out-of-Process State
overview, Managing State
servers, maintaining on, Maintaining State on the Server, Custom Cookies
Session objects for, Session State
Session objects, exposing, Managing State
sessionState element, Integrating ASP.NET’s Built-in State Facility into Web Services
SessionStateModule, Integrating ASP.NET’s Built-in State Facility into Web Services
SQLServer for, Out-of-Process State
StateServer, Out-of-Process State
StateServer, Out-of-Process State
static discovery, Discovery Document Types, Static Discovery
stored procedures
recommended for security, ADO.NET Data Access Recommendations
streaming API., see xml streaming api
streams
ChainStream method for extensions, Implementing ChainStream, Implementing ChainStream
structures
SOAP, passing in, How .NET Handles Structs in the SOAP Body, Structures
system administrator account
process identity set to, ASP.NET Process Identity Configuration
System.NET namespace
client handlers, Custom Clients
System.Runtime.Serialization, The Other .NET Serializer
System.Web.Services namespace, Web Service Classes and Namespaces
System.Web.Services.WebService class
purpose of, Project Files
System.Xml serializer
fields to elements, Setting XML Elements with [XmlElement]
schemas with, Writing Schemas Implicitly, Setting Service Defaults with [SoapDocumentService], Setting XML Elements with [XmlElement]