ContractReference クラス
探索ドキュメント内にあるサービスの説明への参照を表します。
この型のすべてのメンバの一覧については、ContractReference メンバ を参照してください。
System.Object
System.Web.Services.Discovery.DiscoveryReference
System.Web.Services.Discovery.ContractReference
Public Class ContractReference
Inherits DiscoveryReference
[C#]
public class ContractReference : DiscoveryReference
[C++]
public __gc class ContractReference : public DiscoveryReference
[JScript]
public class ContractReference extends DiscoveryReference
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
XML Web サービス探索には、指定 URL で使用できる Web サービスの探索が含まれます。通常、URL は探索ドキュメントを指します。探索ドキュメントのファイル名拡張子は通常 .disco です。探索ドキュメントには、XML Web サービスが存在するかどうかに関する情報への参照が含まれています。これらの参照は、サービスの説明、XML スキーマ定義言語 (XSD) スキーマ、または他の探索ドキュメントを参照できます。このクラスは、サービスの説明への参照を表します。
探索ドキュメント内では、サービスの説明への参照は contractRef XML 要素に格納されています。 contractRef XML 要素には ref と docRef の 2 つの属性があります。 contractRef 要素は Namespace 定数と一致する XML 名前空間を持っている必要がありますが、 ref 属性と docRef 属性は Ref プロパティと DocRef プロパティに設定されます。
使用例
Imports System
Imports System.Xml
Imports System.IO
Imports System.Web.Services.Discovery
Public Class MyContractReference
Shared Sub Main()
Try
' Get a 'DiscoveryDocument' object.
Dim myDiscoveryDocument As New DiscoveryDocument()
' Get a 'ContractReference' object.
Dim myContractReference As New ContractReference()
' Set the URL to the referenced service description.
myContractReference.Ref = "https://localhost/service1.asmx?wsdl"
' Set the URL for a XML Web service implementing the service
' description .
myContractReference.DocRef = "https://localhost/service1.asmx"
Dim myBinding As New SoapBinding()
myBinding.Binding = New XmlQualifiedName("q1:Service1Soap")
myBinding.Address = "https://localhost/service1.asmx"
' Add 'myContractReference' to the list of references contained
' within the discovery document.
myDiscoveryDocument.References.Add(myContractReference)
' Add 'Binding' to referenceCollection.
myDiscoveryDocument.References.Add(myBinding)
' Open or create a file for writing .
Dim myFileStream As New FileStream("Service1.disco", FileMode.OpenOrCreate, FileAccess.Write)
Dim myStreamWriter As New StreamWriter(myFileStream)
' Write 'myDiscoveryDocument' into the passed stream.
myDiscoveryDocument.Write(myStreamWriter)
Console.WriteLine("The 'Service1.disco' is generated.")
Catch e As Exception
Console.WriteLine("Error is" + e.Message)
End Try
End Sub 'Main
End Class 'MyContractReference
[C#]
using System;
using System.Xml;
using System.IO;
using System.Web.Services.Discovery;
public class MyContractReference
{
static void Main()
{
try
{
// Get a DiscoveryDocument.
DiscoveryDocument myDiscoveryDocument = new DiscoveryDocument();
// Get a ContractReference.
ContractReference myContractReference = new ContractReference();
// Set the URL to the referenced service description.
myContractReference.Ref = "https://localhost/service1.asmx?wsdl";
// Set the URL for an XML Web service implementing the service
// description.
myContractReference.DocRef = "https://localhost/service1.asmx";
SoapBinding myBinding = new SoapBinding();
myBinding.Binding = new XmlQualifiedName("q1:Service1Soap");
myBinding.Address = "https://localhost/service1.asmx";
// Add myContractReference to the list of references contained
// in the discovery document.
myDiscoveryDocument.References.Add(myContractReference);
// Add Binding to the references collection.
myDiscoveryDocument.References.Add(myBinding);
// Open or create a file for writing.
FileStream myFileStream = new FileStream("Service1.disco",
FileMode.OpenOrCreate, FileAccess.Write );
StreamWriter myStreamWriter = new StreamWriter( myFileStream );
// Write myDiscoveryDocument into the passed stream.
myDiscoveryDocument.Write( myStreamWriter );
Console.WriteLine("The Service1.disco is generated.");
}
catch(Exception e)
{
Console.WriteLine("Error is "+ e.Message);
}
}
}
[C++]
#using <mscorlib.dll>
#using <System.Xml.dll>
#using <System.Web.Services.dll>
using namespace System;
using namespace System::Xml;
using namespace System::IO;
using namespace System::Web::Services::Discovery;
int main() {
try {
// Get a DiscoveryDocument.
DiscoveryDocument* myDiscoveryDocument = new DiscoveryDocument();
// Get a ContractReference.
ContractReference* myContractReference = new ContractReference();
// Set the URL to the referenced service description.
myContractReference->Ref = S"https://localhost/service1.asmx?wsdl";
// Set the URL for an XML Web service implementing the service
// description.
myContractReference->DocRef = S"https://localhost/service1.asmx";
SoapBinding* myBinding = new SoapBinding();
myBinding->Binding = new XmlQualifiedName(S"q1:Service1Soap");
myBinding->Address = S"https://localhost/service1.asmx";
// Add myContractReference to the list of references contained
// in the discovery document.
myDiscoveryDocument->References->Add(myContractReference);
// Add Binding to the references collection.
myDiscoveryDocument->References->Add(myBinding);
// Open or create a file for writing.
FileStream* myFileStream = new FileStream(S"Service1.disco",
FileMode::OpenOrCreate, FileAccess::Write);
StreamWriter* myStreamWriter = new StreamWriter(myFileStream);
// Write myDiscoveryDocument into the passed stream.
myDiscoveryDocument->Write(myStreamWriter);
Console::WriteLine(S"The Service1.disco is generated.");
} catch (Exception* e) {
Console::WriteLine(S"Error is {0}", e->Message);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Web.Services.Discovery
プラットフォーム: 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 内)
参照
ContractReference メンバ | System.Web.Services.Discovery 名前空間 | DiscoveryReference | ServiceDescription | SchemaReference | DiscoveryDocumentReference | DiscoveryClientProtocol