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
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