This documentation is archived and is not being maintained.

OperationBindingCollection Class

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

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

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

[Visual Basic]
NotInheritable Public Class OperationBindingCollection
   Inherits ServiceDescriptionBaseCollection
[C#]
public sealed class OperationBindingCollection :
   ServiceDescriptionBaseCollection
[C++]
public __gc __sealed class OperationBindingCollection : public
   ServiceDescriptionBaseCollection
[JScript]
public class OperationBindingCollection 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 OperationBinding class corresponds to the Web Services Description Language (WSDL) <operation> element enclosed by the <binding> element, which in turn corresponds to the Binding class. 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
Imports Microsoft.VisualBasic

Class MyOperationBindingCollectionSample

   Shared Sub Main()
      Try
         Dim myServiceDescription As ServiceDescription = _
            ServiceDescription.Read("MathService_input_vb.wsdl")

         ' Add the OperationBinding for the Add operation.
         Dim addOperationBinding As New OperationBinding()
         Dim addOperation As String = "Add"
         Dim myTargetNamespace As String = myServiceDescription.TargetNamespace
         addOperationBinding.Name = addOperation

         ' Add the InputBinding for the operation.
         Dim myInputBinding As New InputBinding()
         Dim mySoapBodyBinding As New SoapBodyBinding()
         mySoapBodyBinding.Use = SoapBindingUse.Literal
         myInputBinding.Extensions.Add(mySoapBodyBinding)
         addOperationBinding.Input = myInputBinding

         ' Add the OutputBinding for the operation.
         Dim myOutputBinding As New OutputBinding()
         myOutputBinding.Extensions.Add(mySoapBodyBinding)
         addOperationBinding.Output = myOutputBinding

         ' Add the extensibility element for the SoapOperationBinding.
         Dim mySoapOperationBinding As New SoapOperationBinding()
         mySoapOperationBinding.Style = SoapBindingStyle.Document
         mySoapOperationBinding.SoapAction = myTargetNamespace & addOperation
         addOperationBinding.Extensions.Add(mySoapOperationBinding)

         ' Get the BindingCollection from the ServiceDescription.
         Dim myBindingCollection As BindingCollection = _
            myServiceDescription.Bindings

         ' Get the OperationBindingCollection of SOAP binding from
         ' the BindingCollection.
         Dim myOperationBindingCollection As OperationBindingCollection = _
            myBindingCollection(0).Operations

         ' Check for the Add OperationBinding in the collection.
         Dim contains As Boolean = _
            myOperationBindingCollection.Contains(addOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "Whether the collection contains the Add " & _
            "OperationBinding : " & contains.ToString())

         ' Add the Add OperationBinding to the collection.
         myOperationBindingCollection.Add(addOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "Added the OperationBinding of the Add " & _
            "operation to the collection.")

         ' Get the OperationBinding of the Add operation from the collection.
         Dim myOperationBinding As OperationBinding = _
            myOperationBindingCollection(3)

         ' Remove the OperationBinding of the 'Add' operation from
         ' the collection.
         myOperationBindingCollection.Remove(myOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "Removed the OperationBinding of the " & _
            "Add operation from the collection.")
         ' Insert the OperationBinding of the Add operation at index 0.
         myOperationBindingCollection.Insert(0, addOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "Inserted the OperationBinding of the " & _
            "Add operation in the collection.")

         ' Get the index of the OperationBinding of the Add
         ' operation from the collection.
         Dim index As Integer = myOperationBindingCollection.IndexOf( _
            addOperationBinding)
         Console.WriteLine(ControlChars.NewLine & _
            "The index of the OperationBinding of the " & _
            "Add operation : " & index.ToString())
         Console.WriteLine("")

         Dim operationBindingArray(myOperationBindingCollection.Count -1  ) _
            As OperationBinding

         ' Copy this collection to the OperationBinding array.
         myOperationBindingCollection.CopyTo(operationBindingArray, 0)
         Console.WriteLine("The operations supported by this service " & _
            "are :")
         Dim myOperationBinding1 As OperationBinding
         For Each myOperationBinding1 In  operationBindingArray
            Dim myBinding As Binding = myOperationBinding1.Binding
            Console.WriteLine(" Binding : " & myBinding.Name & " Name of " & _
               "operation : " & myOperationBinding1.Name)
         Next myOperationBinding1

         ' Save the ServiceDescription to an external file.
         myServiceDescription.Write("MathService_new_vb.wsdl")
      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 'MyOperationBindingCollectionSample

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

class MyOperationBindingCollectionSample
{
   static void Main()
   {
      try
      {
         ServiceDescription myServiceDescription =
            ServiceDescription.Read("MathService_input_cs.wsdl");

         // Add the OperationBinding for the Add operation.
         OperationBinding addOperationBinding = new OperationBinding();
         string addOperation = "Add";
         string myTargetNamespace = myServiceDescription.TargetNamespace;
         addOperationBinding.Name = addOperation;

         // Add the InputBinding for the operation.
         InputBinding myInputBinding = new InputBinding();
         SoapBodyBinding mySoapBodyBinding = new SoapBodyBinding();
         mySoapBodyBinding.Use = SoapBindingUse.Literal;
         myInputBinding.Extensions.Add(mySoapBodyBinding);
         addOperationBinding.Input = myInputBinding;

         // Add the OutputBinding for the operation.
         OutputBinding myOutputBinding = new OutputBinding();
         myOutputBinding.Extensions.Add(mySoapBodyBinding);
         addOperationBinding.Output = myOutputBinding;

         // Add the extensibility element for the SoapOperationBinding.
         SoapOperationBinding mySoapOperationBinding = 
            new SoapOperationBinding();
         mySoapOperationBinding.Style = SoapBindingStyle.Document;
         mySoapOperationBinding.SoapAction = myTargetNamespace + addOperation;
         addOperationBinding.Extensions.Add(mySoapOperationBinding);

         // Get the BindingCollection from the ServiceDescription.
         BindingCollection myBindingCollection = 
            myServiceDescription.Bindings;

         // Get the OperationBindingCollection of SOAP binding from 
         // the BindingCollection.
         OperationBindingCollection myOperationBindingCollection = 
            myBindingCollection[0].Operations;

         // Check for the Add OperationBinding in the collection.
         bool contains = myOperationBindingCollection.Contains
            (addOperationBinding);
         Console.WriteLine("\nWhether the collection contains the Add " +
            "OperationBinding : " + contains);

         // Add the Add OperationBinding to the collection.
         myOperationBindingCollection.Add(addOperationBinding);
         Console.WriteLine("\nAdded the OperationBinding of the Add" +
            " operation to the collection.");

         // Get the OperationBinding of the Add operation from the collection.
         OperationBinding myOperationBinding = 
            myOperationBindingCollection[3];

         // Remove the OperationBinding of the Add operation from 
         // the collection.
         myOperationBindingCollection.Remove(myOperationBinding);
         Console.WriteLine("\nRemoved the OperationBinding of the " +
            "Add operation from the collection.");

         // Insert the OperationBinding of the Add operation at index 0.
         myOperationBindingCollection.Insert(0, addOperationBinding);
         Console.WriteLine("\nInserted the OperationBinding of the " +
            "Add operation in the collection.");

         // Get the index of the OperationBinding of the Add
         // operation from the collection.
         int index = myOperationBindingCollection.IndexOf(addOperationBinding);
         Console.WriteLine("\nThe index of the OperationBinding of the " +
            "Add operation : " + index);
         Console.WriteLine("");

         OperationBinding[] operationBindingArray = new
            OperationBinding[myOperationBindingCollection.Count];

         // Copy this collection to the OperationBinding array.
         myOperationBindingCollection.CopyTo(operationBindingArray, 0);
         Console.WriteLine("The operations supported by this service " +
            "are :");
         foreach(OperationBinding myOperationBinding1 in 
            operationBindingArray)
         {
            Binding myBinding = myOperationBinding1.Binding;
            Console.WriteLine(" Binding : "+ myBinding.Name + " Name of " +
               "operation : " + myOperationBinding1.Name);
         }

         // Save the ServiceDescription to an external file.
         myServiceDescription.Write("MathService_new_cs.wsdl");
      }
      catch(Exception e)
      {
         Console.WriteLine("Exception caught!!!");
         Console.WriteLine("Source : " + e.Source);
         Console.WriteLine("Message : " + e.Message);
      }
   }
}

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

int main()
{
   try
   {
      ServiceDescription* myServiceDescription =
         ServiceDescription::Read(S"MathService_input_cs.wsdl");

      // Add the OperationBinding for the Add operation.
      OperationBinding* addOperationBinding = new OperationBinding();
      String* addOperation = S"Add";
      String* myTargetNamespace = myServiceDescription->TargetNamespace;
      addOperationBinding->Name = addOperation;

      // Add the InputBinding for the operation.
      InputBinding* myInputBinding = new InputBinding();
      SoapBodyBinding* mySoapBodyBinding = new SoapBodyBinding();
      mySoapBodyBinding->Use = SoapBindingUse::Literal;
      myInputBinding->Extensions->Add(mySoapBodyBinding);
      addOperationBinding->Input = myInputBinding;

      // Add the OutputBinding for the operation.
      OutputBinding* myOutputBinding = new OutputBinding();
      myOutputBinding->Extensions->Add(mySoapBodyBinding);
      addOperationBinding->Output = myOutputBinding;

      // Add the extensibility element for the SoapOperationBinding.
      SoapOperationBinding* mySoapOperationBinding =
         new SoapOperationBinding();
      mySoapOperationBinding->Style = SoapBindingStyle::Document;
      mySoapOperationBinding->SoapAction = String::Concat(myTargetNamespace, addOperation);
      addOperationBinding->Extensions->Add(mySoapOperationBinding);

      // Get the BindingCollection from the ServiceDescription.
      BindingCollection* myBindingCollection =
         myServiceDescription->Bindings;

      // Get the OperationBindingCollection of SOAP binding from
      // the BindingCollection.
      OperationBindingCollection* myOperationBindingCollection =
         myBindingCollection->Item[0]->Operations;

      // Check for the Add OperationBinding in the collection.
      bool contains = myOperationBindingCollection->Contains(addOperationBinding);
      Console::WriteLine( S"\nWhether the collection contains the Add OperationBinding : {0}", __box(contains));

      // Add the Add OperationBinding to the collection.
      myOperationBindingCollection->Add(addOperationBinding);
      Console::WriteLine(S"\nAdded the OperationBinding of the Add"
         S" operation to the collection.");

      // Get the OperationBinding of the Add operation from the collection.
      OperationBinding* myOperationBinding =
         myOperationBindingCollection->Item[3];

      // Remove the OperationBinding of the Add operation from
      // the collection.
      myOperationBindingCollection->Remove(myOperationBinding);
      Console::WriteLine(S"\nRemoved the OperationBinding of the "
         S"Add operation from the collection.");

      // Insert the OperationBinding of the Add operation at index 0.
      myOperationBindingCollection->Insert(0, addOperationBinding);
      Console::WriteLine(S"\nInserted the OperationBinding of the "
         S"Add operation in the collection.");

      // Get the index of the OperationBinding of the Add
      // operation from the collection.
      int index = myOperationBindingCollection->IndexOf(addOperationBinding);
      Console::WriteLine(S"\nThe index of the OperationBinding of the Add operation : {0}", __box(index));
      Console::WriteLine(S"");

      OperationBinding* operationBindingArray[] = new
         OperationBinding*[myOperationBindingCollection->Count];

      // Copy this collection to the OperationBinding array.
      myOperationBindingCollection->CopyTo(operationBindingArray, 0);
      Console::WriteLine(S"The operations supported by this service "
         S"are :");
      System::Collections::IEnumerator* myEnum = operationBindingArray->GetEnumerator();
      while (myEnum->MoveNext())
      {
         OperationBinding* myOperationBinding1 = __try_cast<OperationBinding*>(myEnum->Current);
         Binding* myBinding = myOperationBinding1->Binding;
         Console::WriteLine(String::Format( S" Binding : {0} Name of operation : {1}", myBinding->Name, myOperationBinding1->Name ));
      }

      // Save the ServiceDescription to an external file.
      myServiceDescription->Write(S"MathService_new_cs.wsdl");
   }
   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

OperationBindingCollection Members | System.Web.Services.Description Namespace

Show: