This documentation is archived and is not being maintained.

OperationFaultCollection Class

Represents a collection of instances of the OperationFault class. This class cannot be inherited.

For a list of all members of this type, see OperationFaultCollection Members.

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

[Visual Basic]
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

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Remarks

The OperationFault class corresponds to the Web Services Description Language (WSDL) <fault> element enclosed by the <operation> element that is in turn enclosed by the <portType> element. For more information about WSDL, see the specification at http://www.w3.org/TR/wsdl/.

Example

[Visual Basic] 
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] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Namespace: System.Web.Services.Description

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

Assembly: System.Web.Services (in System.Web.Services.dll)

See Also

OperationFaultCollection Members | System.Web.Services.Description Namespace

Show: