ServiceDescription クラス

XML Web サービスの記述に必要な名前空間、要素、および属性を完全に備えた、有効な Web サービス記述言語 (WSDL: Web Services Description Language) ドキュメント ファイルを作成する方法およびフォーマット方法を提供します。このクラスは継承できません。

この型のすべてのメンバの一覧については、ServiceDescription メンバ を参照してください。

System.Object
   System.Web.Services.Description.DocumentableItem
      System.Web.Services.Description.ServiceDescription

NotInheritable Public Class ServiceDescription
   Inherits DocumentableItem
[C#]
public sealed class ServiceDescription : DocumentableItem
[C++]
public __gc __sealed class ServiceDescription : public
   DocumentableItem
[JScript]
public class ServiceDescription extends DocumentableItem

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

このクラスのインスタンスは、 new キーワードまたは静的な Read メソッドのいずれかを使って作成できます。このメソッドは WSDL ファイルを解析し、その値をこのクラスの適切なメンバに代入します。

WSDL は XML ベースの言語で、XML Web サービスの記述に使用します。 ServiceDescription クラスは、WSDL ファイルのルート要素 (<definitions>) に対応します。WSDL の詳細については、http://www.w3.org/TR/wsdl/ の仕様を参照してください。

使用例

[Visual Basic, C#, C++] ServiceDescription クラスのインスタンスを作成する方法の例を次に示します。

 
' Obtain the ServiceDescription of existing Wsdl.
Dim myDescription As ServiceDescription = ServiceDescription.Read("MyWsdl_VB.wsdl")
' Remove the Binding from the Binding Collection of ServiceDescription.
Dim myBindingCollection As BindingCollection = myDescription.Bindings
myBindingCollection.Remove(myBindingCollection(0))

' Form a new Binding.
Dim myBinding As New Binding()
myBinding.Name = "Service1Soap"
Dim myXmlQualifiedName As New XmlQualifiedName("s0:Service1Soap")
myBinding.Type = myXmlQualifiedName

Dim mySoapBinding As New SoapBinding()
mySoapBinding.Transport = "https://schemas.xmlsoap.org/soap/http"
mySoapBinding.Style = SoapBindingStyle.Document

Dim addOperationBinding As OperationBinding = CreateOperationBinding("Add", _
                                             myDescription.TargetNamespace)
myBinding.Operations.Add(addOperationBinding)
myBinding.Extensions.Add(mySoapBinding)

' Add the Binding to the ServiceDescription.
myDescription.Bindings.Add(myBinding)
myDescription.Write("MyOutWsdl.wsdl")

[C#] 
// Obtain the ServiceDescription of existing Wsdl.
ServiceDescription myDescription = ServiceDescription.Read("MyWsdl_CS.wsdl");
// Remove the Binding from the Binding Collection of ServiceDescription.
BindingCollection myBindingCollection = myDescription.Bindings;
myBindingCollection.Remove(myBindingCollection[0]);

// Form a new Binding.
Binding myBinding = new Binding();
myBinding.Name = "Service1Soap";
XmlQualifiedName myXmlQualifiedName = 
                     new XmlQualifiedName("s0:Service1Soap");
myBinding.Type = myXmlQualifiedName;

SoapBinding mySoapBinding = new SoapBinding();
mySoapBinding.Transport = "https://schemas.xmlsoap.org/soap/http";
mySoapBinding.Style = SoapBindingStyle.Document;

OperationBinding addOperationBinding = 
       CreateOperationBinding("Add",myDescription.TargetNamespace);
myBinding.Operations.Add(addOperationBinding);
myBinding.Extensions.Add(mySoapBinding);

// Add the Binding to the ServiceDescription.
myDescription.Bindings.Add(myBinding);
myDescription.Write("MyOutWsdl.wsdl");

[C++] 
// Obtain the ServiceDescription of existing Wsdl.
ServiceDescription* myDescription = ServiceDescription::Read(S"MyWsdl_CS.wsdl");
// Remove the Binding from the Binding Collection of ServiceDescription.
BindingCollection* myBindingCollection = myDescription->Bindings;
myBindingCollection->Remove(myBindingCollection->Item[0]);

// Form a new Binding.
Binding* myBinding = new Binding();
myBinding->Name = S"Service1Soap";
XmlQualifiedName* myXmlQualifiedName = 
   new XmlQualifiedName(S"s0:Service1Soap");
myBinding->Type = myXmlQualifiedName;

SoapBinding* mySoapBinding = new SoapBinding();
mySoapBinding->Transport = S"https://schemas.xmlsoap.org/soap/http";
mySoapBinding->Style = SoapBindingStyle::Document;

OperationBinding* addOperationBinding = 
   CreateOperationBinding(S"Add",myDescription->TargetNamespace);
myBinding->Operations->Add(addOperationBinding);
myBinding->Extensions->Add(mySoapBinding);

// Add the Binding to the ServiceDescription.
myDescription->Bindings->Add(myBinding);
myDescription->Write(S"MyOutWsdl.wsdl");

[Visual Basic, C#, C++]

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Web.Services.Description

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Web.Services (System.Web.Services.dll 内)

参照

ServiceDescription メンバ | System.Web.Services.Description 名前空間