Service Description

While messaging protocols are responsible for message serialization formats, there must be a way to capture the protocols required to communicate between clients and services. In Chapter 1, you worked with WSDL documents, which describe the requirements of a service, including the operations associated with each endpoint and the protocols used by each endpoint. In this section, I’ll discuss the relationship between the service description, message exchange patterns, and WSDL.

ServiceDescription

Services may implement one or more endpoints, each possibly supporting a different set of operations, messaging protocols, message encoding formats, and transport protocols. Collectively, this information about a service is part of the service metadata, as I discussed in Chapter 1. This can also be referred to as the service description. In fact, WCF represents this information at runtime as a ServiceDescription type from the System.ServiceModel namespace.

The ServiceDescription type is a runtime representation of all service endpoints and their associated service contracts, the binding configuration that describes protocol support, and local behaviors that affect how the service model processes messages. It is the ServiceDescription type that is used to generate the WSDL document, and it also supports dynamic metadata exchange so that clients can discover at runtime what protocols are required to invoke service operations. Recall from Chapter 1 that SvcUtil is used to generate ...

Get Learning WCF now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.