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 名前空間