OperationFaultCollection クラス

OperationFault クラスのインスタンスのコレクションを表します。このクラスは継承できません。

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

System.Object
   System.Collections.CollectionBase
      System.Web.Services.Description.ServiceDescriptionBaseCollection
         System.Web.Services.Description.OperationFaultCollection

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

スレッドセーフ

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

解説

OperationFault クラスは、 <operation> 要素で囲まれた WSDL (Web Services Description Language) <fault> 要素に対応します。さらに、この要素は <portType> 要素で囲まれます。WSDL の詳細については、http://www.w3.org/TR/wsdl/ の仕様を参照してください。

使用例

 
Imports System
Imports System.Web.Services.Description

Public Class MyOperationFaultCollectionSample
   
   Public Shared Sub Main()
      Try
         ' Read the StockQuote.wsdl file as input.
         Dim myServiceDescription As ServiceDescription = _
            ServiceDescription.Read("StockQuote_vb.wsdl")
         Dim myPortTypeCollection As PortTypeCollection = _
            myServiceDescription.PortTypes
         Dim myPortType As PortType = myPortTypeCollection(0)
         Dim myOperationCollection As OperationCollection = _
            myPortType.Operations
         Dim myOperation As Operation = myOperationCollection(0)
         Dim myOperationFaultCollection As OperationFaultCollection = _
            myOperation.Faults

         ' Reverse the operation fault order.
         If myOperationFaultCollection.Count > 1 Then
            Dim myOperationFault As OperationFault = _
               myOperationFaultCollection(0)
            Dim myOperationFaultArray(myOperationFaultCollection.Count -1 ) _
               As OperationFault

            ' Copy the operation faults to a temporary array.
            myOperationFaultCollection.CopyTo(myOperationFaultArray, 0)

            ' Remove all the operation faults from the collection.
            Dim i As Integer
            For i = 0 To myOperationFaultArray.Length - 1
               myOperationFaultCollection.Remove(myOperationFaultArray(i))
            Next i

            ' Insert the operation faults in the reverse order.
            Dim j As Integer = myOperationFaultArray.Length - 1
            i = 0
            While i < myOperationFaultArray.Length
               myOperationFaultCollection.Insert(i, myOperationFaultArray(j))
               i += 1
               j -= 1
            End While
            If myOperationFaultCollection.Contains(myOperationFault) And _
               myOperationFaultCollection.IndexOf(myOperationFault) = _
               myOperationFaultCollection.Count - 1 Then
               Console.WriteLine("Succeeded in reversing the operation faults.")
            Else
               Console.WriteLine("Error while reversing the faults.")
            End If
         End If
         Dim myBindingCollection As BindingCollection = _
            myServiceDescription.Bindings
         Dim myBinding As Binding = myBindingCollection(0)
         Dim myOperationBindingCollection As OperationBindingCollection = _
            myBinding.Operations
         Dim myOperationBinding As OperationBinding = _
            myOperationBindingCollection(0)
         Dim myFaultBindingCollection As FaultBindingCollection = _
            myOperationBinding.Faults
         
         ' Reverse the fault binding order.
         If myFaultBindingCollection.Count > 1 Then
            Dim myFaultBinding As FaultBinding = myFaultBindingCollection(0)
            
            Dim myFaultBindingArray(myFaultBindingCollection.Count -1 ) _
               As FaultBinding

            ' Copy the fault bindings to a temporary array.
            myFaultBindingCollection.CopyTo(myFaultBindingArray, 0)
            
            ' Remove all the fault bindings.
            Dim i As Integer
            For i = 0 To myFaultBindingArray.Length - 1
               myFaultBindingCollection.Remove(myFaultBindingArray(i))
            Next i

            Dim j As Integer = myFaultBindingArray.Length - 1
            i = 0

            ' Insert the fault bindings in the reverse order.
            While i < myFaultBindingArray.Length
               myFaultBindingCollection.Insert(i, myFaultBindingArray(j))
               i += 1
               j -= 1
            End While
 
            ' Check whether the first element before the reversal 
            ' is now the last element.
            If myFaultBindingCollection.Contains(myFaultBinding) And _
               myFaultBindingCollection.IndexOf(myFaultBinding) = _
               myFaultBindingCollection.Count - 1 Then

               ' Write the WSDL generated to a file.
               myServiceDescription.Write("StockQuoteOut_vb.wsdl")
               Console.WriteLine( _
                  "The file StockQuoteOut_vb.wsdl was successfully written.")
            Else
               Console.WriteLine( _
                  "An Error occured while reversing the input WSDL file.")
            End If
         End If
      Catch e As Exception
         Console.WriteLine("Exception caught!!!")
         Console.WriteLine("Source : " & e.Source.ToString())
         Console.WriteLine("Message : " & e.Message.ToString())
      End Try
   End Sub 'Main
End Class 'MyOperationFaultCollectionSample

[C#] 
using System;
using System.Web.Services.Description;

public class MyOperationFaultCollectionSample
{
   public static void Main()
   {
      try
      {
         // Read the StockQuote.wsdl file as input.
         ServiceDescription myServiceDescription = 
            ServiceDescription.Read("StockQuote_cs.wsdl");
         PortTypeCollection myPortTypeCollection = 
            myServiceDescription.PortTypes;
         PortType myPortType = myPortTypeCollection[0];
         OperationCollection myOperationCollection = myPortType.Operations;
         Operation myOperation = myOperationCollection[0];
         OperationFaultCollection myOperationFaultCollection = 
            myOperation.Faults;

         // Reverse the operation fault order.
         if(myOperationFaultCollection.Count > 1)
         {
            OperationFault myOperationFault = myOperationFaultCollection[0];
            OperationFault[] myOperationFaultArray = 
               new OperationFault[myOperationFaultCollection.Count];

            // Copy the operation faults to a temporary array.
            myOperationFaultCollection.CopyTo(myOperationFaultArray, 0);

            // Remove all the operation faults from the collection.
            for(int i = 0; i < myOperationFaultArray.Length; i++)
            {
               myOperationFaultCollection.Remove(myOperationFaultArray[i]);
            }

            // Insert the operation faults in the reverse order.
            for(int i = 0, j = (myOperationFaultArray.Length - 1);
               i < myOperationFaultArray.Length; i++, j--)
            {
               myOperationFaultCollection.Insert(
                  i, myOperationFaultArray[j]);
            }
            if ( myOperationFaultCollection.Contains(myOperationFault) &&
               (myOperationFaultCollection.IndexOf(myOperationFault) 
               == myOperationFaultCollection.Count-1))
            {
               Console.WriteLine(
                  "Succeeded in reversing the operation faults.");
            }
            else 
            {
               Console.WriteLine("Error while reversing the faults.");
            }
         }
         BindingCollection myBindingCollection = 
            myServiceDescription.Bindings;
         Binding myBinding = myBindingCollection[0];
         OperationBindingCollection myOperationBindingCollection = 
            myBinding.Operations;
         OperationBinding myOperationBinding = 
            myOperationBindingCollection[0];
         FaultBindingCollection myFaultBindingCollection = 
            myOperationBinding.Faults;

         // Reverse the fault binding order.
         if(myFaultBindingCollection.Count > 1) 
         {
            FaultBinding myFaultBinding = myFaultBindingCollection[0];

            FaultBinding[] myFaultBindingArray = 
               new FaultBinding[myFaultBindingCollection.Count];

            // Copy the fault bindings to a temporary array.
            myFaultBindingCollection.CopyTo(myFaultBindingArray, 0);

            // Remove all the fault bindings.
            for(int i = 0; i < myFaultBindingArray.Length; i++)
            {
               myFaultBindingCollection.Remove(myFaultBindingArray[i]);
            }

            // Insert the fault bindings in the reverse order.
            for(int i = 0, j = (myFaultBindingArray.Length - 1);
               i < myFaultBindingArray.Length; i++, j--)
            {
               myFaultBindingCollection.Insert(i, myFaultBindingArray[j]);
            }

            // Check whether the first element before the reversal 
            // is now the last element.
            if(myFaultBindingCollection.Contains(myFaultBinding) && 
               myFaultBindingCollection.IndexOf(myFaultBinding) == 
               (myFaultBindingCollection.Count - 1))
            {
               // Write the WSDL generated to a file.
               myServiceDescription.Write("StockQuoteOut_cs.wsdl");
               Console.WriteLine(
                  "The file StockQuoteOut_cs.wsdl was successfully written.");
            }
            else
            {
               Console.WriteLine(
                  "An error occured while reversing the input WSDL file.");
            }
         }
      }
      catch(Exception e)
      {
         Console.WriteLine("Exception caught!!!");
         Console.WriteLine("Source : " + e.Source);
         Console.WriteLine("Message : " + e.Message);
      }
   }
}

[C++] 
#using <mscorlib.dll>
#using <System.Web.Services.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Web::Services::Description;

int main() 
{
   try 
   {
      // Read the StockQuote.wsdl file as input.
      ServiceDescription * myServiceDescription = 
         ServiceDescription::Read(S"StockQuote_cpp.wsdl");
      PortTypeCollection * myPortTypeCollection = 
         myServiceDescription->PortTypes;
      PortType * myPortType = myPortTypeCollection->Item[0];
      OperationCollection * myOperationCollection = myPortType->Operations;
      Operation * myOperation = myOperationCollection->Item[0];
      OperationFaultCollection * myOperationFaultCollection =
         myOperation->Faults;

      // Reverse the operation fault order.
      if (myOperationFaultCollection->Count > 1) 
      {
         OperationFault * myOperationFault =
            myOperationFaultCollection->Item[0];
         OperationFault* myOperationFaultArray[] = 
            new OperationFault*[myOperationFaultCollection->Count];

         // Copy the operation fault to a temporary array.
         myOperationFaultCollection->CopyTo(myOperationFaultArray, 0);

         // Remove all the operation faults from the collection.
         for (int i = 0; i < myOperationFaultArray->Length; i++)
            myOperationFaultCollection->Remove(myOperationFaultArray->Item[i]);

         // Insert the operation faults in the reverse order.
         for (int i = 0, j = (myOperationFaultArray->Length - 1);
                  i < myOperationFaultArray->Length; i++, j--) 
            myOperationFaultCollection->Insert(
               i, myOperationFaultArray->Item[j]);

         if (myOperationFaultCollection->Contains(myOperationFault) &&
            (myOperationFaultCollection->IndexOf(myOperationFault)
            == myOperationFaultCollection->Count-1)) 
            Console::WriteLine(S"Succeeded in reversing the operation faults.");
         else
            Console::WriteLine(S"Error while reversing the faults.");
      }
      BindingCollection * myBindingCollection = 
         myServiceDescription->Bindings;
      Binding * myBinding = myBindingCollection->Item[0];
      OperationBindingCollection * myOperationBindingCollection =
         myBinding->Operations;
      OperationBinding * myOperationBinding =
         myOperationBindingCollection->Item[0];
      FaultBindingCollection * myFaultBindingCollection =
         myOperationBinding->Faults;

      // Reverse the fault binding order.
      if (myFaultBindingCollection->Count > 1) 
      {
         FaultBinding * myFaultBinding = myFaultBindingCollection->Item[0];

         FaultBinding* myFaultBindingArray[] = 
            new FaultBinding*[myFaultBindingCollection->Count];

         // Copy the fault bindings to a temporary array.
         myFaultBindingCollection->CopyTo(myFaultBindingArray, 0);

         // Remove all the fault bindings.
         for (int i = 0; i < myFaultBindingArray->Length; i++)
            myFaultBindingCollection->Remove(myFaultBindingArray->Item[i]);

         // Insert the fault bindings in the reverse order.
         for (int i = 0, j = (myFaultBindingArray->Length - 1);
            i < myFaultBindingArray->Length; i++, j--) 
            myFaultBindingCollection->Insert(i, myFaultBindingArray->Item[j]);

         // Check whether the first element before the reversal 
         // is now the last element.
         if (myFaultBindingCollection->Contains(myFaultBinding) &&
            myFaultBindingCollection->IndexOf(myFaultBinding) ==
            (myFaultBindingCollection->Count - 1)) 
         {
            // Write the WSDL generated to a file.
            myServiceDescription->Write(S"StockQuoteOut_cpp.wsdl");
            Console::WriteLine(
               S"The file StockQuoteOut_cpp.wsdl was successfully written");
         } 
         else
            Console::WriteLine(
               S"An error occured while reversing the input WSDL file.");
      }
   } 
   catch (Exception* e) 
   {
      Console::WriteLine(S"Exception caught!!!");
      Console::WriteLine(S"Source : {0}", e->Source);
      Console::WriteLine(S"Message : {0}", e->Message);
   }
}

[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 内)

参照

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