Export (0) Print
Expand All

SoapBinding Class

Represents a SOAP binding in a discovery document. This class cannot be inherited.

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

System.Object
   System.Web.Services.Discovery.SoapBinding

[Visual Basic]
NotInheritable Public Class SoapBinding
[C#]
public sealed class SoapBinding
[C++]
public __gc __sealed class SoapBinding
[JScript]
public class SoapBinding

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

A SOAP binding is similar to an interface for XML Web services. It is useful for versioning and when you look for a XML Web service implementing a specific SOAP binding. For instance, a discovery document might contain optional information about SOAP bindings, which specify the SOAP bindings implemented by referenced Web Servcies. SOAP bindings are specified within the XML document containd within a discovery document by adding a SOAP XML element with an XML namespace equal to the Namespace constant. The Address property specifies the URL of the XML Web service and the Binding property specifies the SOAP binding implemented by that XML Web service.

Example

[Visual Basic] 
Imports System
Imports System.Net
Imports System.Xml
Imports System.Web.Services.Discovery

Public Class DiscoverySoapBindingMod

   Public shared Sub Main()
      Try


         ' 'dataservice.disco' is a sample discovery document.
         Dim myStringUrl As String = "http://localhost/dataservice.disco"

         ' Call the Discover method to populate the Documents property.
         Dim myDiscoveryClientProtocol As DiscoveryClientProtocol = _
             New DiscoveryClientProtocol()
         myDiscoveryClientProtocol.Credentials = _
             CredentialCache.DefaultCredentials
         Dim myDiscoveryDocument As DiscoveryDocument = _
             myDiscoveryClientProtocol.Discover(myStringUrl)

         Console.WriteLine("Demonstrating the Discovery.SoapBinding class.")

         ' Create a SOAP binding.
         Dim mySoapBinding As SoapBinding = New SoapBinding()

         ' Assign the address to the SOAP binding.
         mySoapBinding.Address = "http://schemas.xmlsoap.org/disco/scl/"

         ' Bind the created SOAP binding with a new XmlQualifiedName.
         mySoapBinding.Binding = New XmlQualifiedName("string", _
             "http://www.w3.org/2001/XMLSchema")

         ' Add the created SOAP binding to the DiscoveryClientProtocol.
         myDiscoveryClientProtocol.AdditionalInformation.Add(mySoapBinding)

         ' Display the namespace associated with the SOAP binding.
         Console.WriteLine("Namespace associated with Soap Binding is: " _
             + SoapBinding.Namespace)

         ' Write all the information of the DiscoveryClientProtocol. 
         myDiscoveryClientProtocol.WriteAll(".","results.discomap")


      Catch e As Exception
         Console.WriteLine(e.ToString)
      End Try

   End Sub
End Class

[C#] 

using System;
using System.Net;
using System.Xml;
using System.Web.Services.Discovery;

public class DiscoverySoapBindingClass
{
   public static void Main()
   {
      try
      {
         // 'dataservice.disco' is a sample discovery document.
         string myStringUrl = "http://localhost/dataservice.disco";

         // Call the Discover method to populate the Documents property.
         DiscoveryClientProtocol myDiscoveryClientProtocol = 
             new DiscoveryClientProtocol();
         myDiscoveryClientProtocol.Credentials = 
             CredentialCache.DefaultCredentials;
         DiscoveryDocument myDiscoveryDocument = 
             myDiscoveryClientProtocol.Discover(myStringUrl);
         
         Console.WriteLine("Demonstrating the Discovery.SoapBinding class.");

         // Create a SOAP binding.
         SoapBinding mySoapBinding = new SoapBinding();
         
         // Assign an address to the created SOAP binding.
         mySoapBinding.Address = "http://schemas.xmlsoap.org/disco/scl/";
         
         // Bind the created SOAP binding with a new XmlQualifiedName.
         mySoapBinding.Binding = new XmlQualifiedName("string",
             "http://www.w3.org/2001/XMLSchema");
         
         // Add the created SOAP binding to the DiscoveryClientProtocol.
         myDiscoveryClientProtocol.AdditionalInformation.Add(mySoapBinding);

         // Display the namespace associated with SOAP binding.
         Console.WriteLine("Namespace associated with the SOAP binding is: " 
             + SoapBinding.Namespace);
         
         // Write all the information of the DiscoveryClientProtocol. 
         myDiscoveryClientProtocol.WriteAll(".","results.discomap");


      }
      catch (Exception e)
      {

         Console.WriteLine(e.ToString());

      }
   }
}


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

int main() {
   try {
      // 'dataservice.disco' is a sample discovery document.
      String* myStringUrl = S"http://localhost/dataservice.disco";

      // Call the Discover method to populate the Documents property.
      DiscoveryClientProtocol* myDiscoveryClientProtocol = 
         new DiscoveryClientProtocol();
      myDiscoveryClientProtocol->Credentials =
         CredentialCache::DefaultCredentials;
      DiscoveryDocument* myDiscoveryDocument =
         myDiscoveryClientProtocol->Discover(myStringUrl);

      Console::WriteLine(S"Demonstrating the Discovery::SoapBinding class.");

      // Create a SOAP binding.
      SoapBinding* mySoapBinding = new SoapBinding();

      // Assign an address to the created SOAP binding.
      mySoapBinding->Address = S"http://schemas.xmlsoap.org/disco/scl/";

      // Bind the created SOAP binding with a new XmlQualifiedName.
      mySoapBinding->Binding = new XmlQualifiedName(S"String*",
         S"http://www.w3.org/2001/XMLSchema");

      // Add the created SOAP binding to the DiscoveryClientProtocol.
      myDiscoveryClientProtocol->AdditionalInformation->Add(mySoapBinding);

      // Display the namespace associated with SOAP binding.
      Console::WriteLine(S"Namespace associated with the SOAP binding is: {0}", 
         SoapBinding::Namespace);

      // Write all the information of the DiscoveryClientProtocol.
      myDiscoveryClientProtocol->WriteAll(S".", S"results.discomap");

   } catch (Exception* e) {
      Console::WriteLine(e);
   }
}

[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.Discovery

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

SoapBinding Members | System.Web.Services.Discovery Namespace

Show:
© 2014 Microsoft