次の方法で共有


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 要素には refdocRef の 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