SoapHttpClientProtocol Clase

Definición

Especifica la clase cliente de la que se derivan los proxies cuando se utiliza el protocolo SOAP.Specifies the class client that proxies derive from when using SOAP.

public ref class SoapHttpClientProtocol : System::Web::Services::Protocols::HttpWebClientProtocol
public class SoapHttpClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
[System.Runtime.InteropServices.ComVisible(true)]
public class SoapHttpClientProtocol : System.Web.Services.Protocols.HttpWebClientProtocol
type SoapHttpClientProtocol = class
    inherit HttpWebClientProtocol
[<System.Runtime.InteropServices.ComVisible(true)>]
type SoapHttpClientProtocol = class
    inherit HttpWebClientProtocol
Public Class SoapHttpClientProtocol
Inherits HttpWebClientProtocol
Herencia
Atributos

Ejemplos

El siguiente ejemplo de código es una clase de proxy generada por Wsdl.exe para el Math servicio Web XML.The following code example is a proxy class generated by Wsdl.exe for the Math XML Web service. La clase de proxy deriva de SoapHttpClientProtocol , que deriva de la clase abstracta WebClientProtocol .The proxy class derives from SoapHttpClientProtocol, which derives from the abstract WebClientProtocol class.

#using <System.Web.Services.dll>
#using <System.Xml.dll>
#using <System.dll>

using namespace System::Diagnostics;
using namespace System::Xml::Serialization;
using namespace System;
using namespace System::Web::Services::Protocols;
using namespace System::Web::Services;

namespace MyMath
{

   [System::Web::Services::WebServiceBindingAttribute(Name="MyMathSoap",Namespace="http://www.contoso.com/")]
   public ref class MyMath: public System::Web::Services::Protocols::SoapHttpClientProtocol
   {
   public:

      [System::Diagnostics::DebuggerStepThroughAttribute]
      MyMath()
      {
         this->Url = "http://www.contoso.com/math.asmx";
      }


      [System::Diagnostics::DebuggerStepThroughAttribute]
      [System::Web::Services::Protocols::SoapDocumentMethodAttribute("http://www.contoso.com/Add",
      RequestNamespace="http://www.contoso.com/",ResponseNamespace="http://www.contoso.com/",
      Use=System::Web::Services::Description::SoapBindingUse::Literal,
      ParameterStyle=System::Web::Services::Protocols::SoapParameterStyle::Wrapped)]
      int Add( int num1, int num2 )
      {
         array<Object^>^temp0 = {num1,num2};
         array<Object^>^results = this->Invoke( "Add", temp0 );
         return  *dynamic_cast<int^>(results[ 0 ]);
      }


      [System::Diagnostics::DebuggerStepThroughAttribute]
      System::IAsyncResult^ BeginAdd( int num1, int num2, System::AsyncCallback^ callback, Object^ asyncState )
      {
         array<Object^>^temp1 = {num1,num2};
         return this->BeginInvoke( "Add", temp1, callback, asyncState );
      }


      [System::Diagnostics::DebuggerStepThroughAttribute]
      int EndAdd( System::IAsyncResult^ asyncResult )
      {
         array<Object^>^results = this->EndInvoke( asyncResult );
         return  *dynamic_cast<int^>(results[ 0 ]);
      }

   };

}


namespace MyMath {
    using System.Diagnostics;
    using System.Xml.Serialization;
    using System;
    using System.Web.Services.Protocols;
    using System.Web.Services;

    [System.Web.Services.WebServiceBindingAttribute(Name="MyMathSoap", Namespace="http://www.contoso.com/")]
    public class MyMath : System.Web.Services.Protocols.SoapHttpClientProtocol {

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public MyMath() {
            this.Url = "http://www.contoso.com/math.asmx";
        }

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.contoso.com/Add", RequestNamespace="http://www.contoso.com/", ResponseNamespace="http://www.contoso.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int Add(int num1, int num2) {
            object[] results = this.Invoke("Add", new object[] {num1,
                        num2});
            return ((int)(results[0]));
        }

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public System.IAsyncResult BeginAdd(int num1, int num2, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("Add", new object[] {num1,
                        num2}, callback, asyncState);
        }

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public int EndAdd(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
    }
}

Option Strict On
Option Explicit On

Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization

Namespace MyMath
    
    <System.Web.Services.WebServiceBindingAttribute(Name:="MyMathSoap", [Namespace]:="http://www.contoso.com/")>  _
    Public Class MyMath
        Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
        
        <System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Public Sub New()
            MyBase.New
            Me.Url = "http://www.contoso.com/math.asmx"
        End Sub
        
        <System.Diagnostics.DebuggerStepThroughAttribute(),  _
         System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.contoso.com/Add", RequestNamespace:="http://www.contoso.com/", ResponseNamespace:="http://www.contoso.com/", Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)>  _
        Public Function Add(ByVal num1 As Integer, ByVal num2 As Integer) As Integer
            Dim results() As Object = Me.Invoke("Add", New Object() {num1, num2})
            Return CType(results(0),Integer)
        End Function
        
        <System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Public Function BeginAdd(ByVal num1 As Integer, ByVal num2 As Integer, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
            Return Me.BeginInvoke("Add", New Object() {num1, num2}, callback, asyncState)
        End Function
        
        <System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Public Function EndAdd(ByVal asyncResult As System.IAsyncResult) As Integer
            Dim results() As Object = Me.EndInvoke(asyncResult)
            Return CType(results(0),Integer)
        End Function
    End Class
End Namespace

El siguiente ejemplo de código es el Math servicio Web XML, desde el que se generó la clase de proxy anterior.The following code example is the Math XML Web service, from which the preceding proxy class was generated.

Importante

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad.This example has a text box that accepts user input, which is a potential security threat. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Para más información, consulte Información general sobre los ataques mediante scripts.For more information, see Script Exploits Overview.

<%@ WebService Language="C#" Class="MyMath"%>
 using System.Web.Services;
 using System;
 
 [WebService(Namespace="http://www.contoso.com/")] 
 public class MyMath {
    
    [ WebMethod ]
    public int Add(int num1, int num2) {
        return num1+num2;
    }
 }
<%@ WebService Language="VB" Class="MyMath"%>
Imports System.Web.Services
Imports System

<WebService(Namespace:="http://www.contoso.com/")> _
Public Class MyMath
    <WebMethod()> _
    Public Function Add(num1 As Integer, num2 As Integer) As Integer
        Return num1 + num2
    End Function 'Add
End Class 'Math

Comentarios

Si va a compilar un cliente de servicios Web XML, se debe crear una clase de proxy que derive indirectamente o directamente de WebClientProtocol para el servicio Web XML.If you are building an XML Web service client, then a proxy class that derives indirectly or directly from WebClientProtocol must be created for the XML Web service. Cuando el cliente del servicio Web XML llama a utilizando SOAP, la clase de proxy debe derivar de SoapHttpClientProtocol , que deriva de HttpWebClientProtocol .When the XML Web service client calls using SOAP, the proxy class must derive from SoapHttpClientProtocol, which derives from HttpWebClientProtocol. HttpWebClientProtocol, a su vez, se deriva de WebClientProtocol .HttpWebClientProtocol, in turn, derives from WebClientProtocol.

Para comunicarse con un servicio Web XML, cree una clase de proxy que derive indirectamente o directamente de WebClientProtocol para el servicio Web XML al que desea llamar.To communicate with an XML Web service, create a proxy class that derives indirectly or directly from WebClientProtocol for the XML Web service you want to call. En lugar de crear la clase de proxy manualmente, use la herramienta lenguaje de descripción de servicios web (Wsdl.exe) para crear una clase de proxy para la descripción de servicio de un servicio Web XML determinado.Instead of creating the proxy class manually, use the Web Services Description Language tool (Wsdl.exe) to create a proxy class for a given XML Web service's service description. Cuando se genera una clase de proxy para el protocolo SOAP, las llamadas sincrónicas a métodos de servicios Web XML se realizan a través del Invoke método, mientras que las llamadas asincrónicas se realizan utilizando el BeginInvoke método y el EndInvoke método.When a proxy class is generated for the SOAP protocol, synchronous calls to XML Web service methods are made via the Invoke method, whereas asynchronous calls are made using the BeginInvoke method and the EndInvoke method.

Notas a los desarrolladores de herederos

Al invalidar esta clase, puede introducir métodos en la clase derivada que son específicos de un tipo determinado de servicio Web XML.When you override this class, you can introduce methods in the derived class which are specific to a particular type of XML Web service. Los métodos capturan los parámetros y llaman a la clase base para realizar el trabajo de comunicación con el servicio Web XML.The methods capture the parameters and call the base class to do the work of communicating with the XML Web service. Si los métodos introducidos son asincrónicos, llame al BeginInvoke(String, Object[], AsyncCallback, Object) método y al EndInvoke(IAsyncResult) método.If the introduced methods are asynchronous, call the BeginInvoke(String, Object[], AsyncCallback, Object) method and the EndInvoke(IAsyncResult) method. Si los métodos introducidos son sincrónicos, llame al Invoke(String, Object[]) método.If the introduced methods are synchronous, call the Invoke(String, Object[]) method. Normalmente, el constructor invalidado establece la Url propiedad en la dirección URL del método de servicios Web XML.The overridden constructor typically sets the Url property to the URL of the XML Web service method.

Constructores

SoapHttpClientProtocol()

Inicializa una nueva instancia de la clase SoapHttpClientProtocol.Initializes a new instance of the SoapHttpClientProtocol class.

Propiedades

AllowAutoRedirect

Obtiene o establece si el cliente sigue de forma automática las redirecciones del servidor.Gets or sets whether the client automatically follows server redirects.

(Heredado de HttpWebClientProtocol)
CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.Gets a value indicating whether the component can raise an event.

(Heredado de Component)
ClientCertificates

Obtiene la colección de certificados del cliente.Gets the collection of client certificates.

(Heredado de HttpWebClientProtocol)
ConnectionGroupName

Obtiene o establece el nombre del grupo de conexiones para la solicitud.Gets or sets the name of the connection group for the request.

(Heredado de WebClientProtocol)
Container

Obtiene la interfaz IContainer que contiene la clase Component.Gets the IContainer that contains the Component.

(Heredado de Component)
CookieContainer

Obtiene o establece la colección de cookies.Gets or sets the collection of cookies.

(Heredado de HttpWebClientProtocol)
Credentials

Obtiene o establece credenciales de seguridad para la autenticación del cliente de servicios Web XML.Gets or sets security credentials for XML Web service client authentication.

(Heredado de WebClientProtocol)
DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.Gets a value that indicates whether the Component is currently in design mode.

(Heredado de Component)
EnableDecompression

Obtiene o establece un valor que indica si la descompresión está habilitada para este HttpWebClientProtocol.Gets or sets a value that indicates whether decompression is enabled for this HttpWebClientProtocol.

(Heredado de HttpWebClientProtocol)
Events

Obtiene la lista de controladores de eventos asociados a Component.Gets the list of event handlers that are attached to this Component.

(Heredado de Component)
PreAuthenticate

Obtiene o establece si la autenticación previa está habilitada.Gets or sets whether pre-authentication is enabled.

(Heredado de WebClientProtocol)
Proxy

Obtiene o establece la información de proxy necesaria para realizar una solicitud de servicios Web XML a través de un firewall.Gets or sets proxy information for making an XML Web service request through a firewall.

(Heredado de HttpWebClientProtocol)
RequestEncoding

La instancia de Encoding que se utiliza para realizar la solicitud de cliente al servicio Web XML.The Encoding used to make the client request to the XML Web service.

(Heredado de WebClientProtocol)
Site

Obtiene o establece ISite de Component.Gets or sets the ISite of the Component.

(Heredado de Component)
SoapVersion

Obtiene o establece la versión del protocolo SOAP utilizada para realizar la solicitud SOAP al servicio Web XML.Gets or sets the version of the SOAP protocol used to make the SOAP request to the XML Web service.

Timeout

Indica el tiempo, en milisegundos, que un cliente de servicios Web XML espera a que llegue una respuesta a una solicitud de servicio Web XML sincrónica.Indicates the time an XML Web service client waits for the reply to a synchronous XML Web service request to arrive (in milliseconds).

(Heredado de WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Obtiene o establece un valor que indica si está habilitada la conexión compartida cuando el cliente utiliza la autenticación NTLM para conectarse al servidor Web que hospeda el servicio Web XML.Gets or sets a value that indicates whether connection sharing is enabled when the client uses NTLM authentication to connect to the Web server that hosts the XML Web service.

(Heredado de HttpWebClientProtocol)
Url

Obtiene o establece la dirección URL base del servicio Web XML que el cliente solicita.Gets or sets the base URL of the XML Web service the client is requesting.

(Heredado de WebClientProtocol)
UseDefaultCredentials

Obtiene o establece un valor que indica si se establece la propiedad Credentials en el valor de la propiedad DefaultCredentials.Gets or sets a value that indicates whether to set the Credentials property to the value of the DefaultCredentials property.

(Heredado de WebClientProtocol)
UserAgent

Obtiene o establece el valor del encabezado del agente de usuario que se envía con cada solicitud.Gets or sets the value for the user agent header that is sent with each request.

(Heredado de HttpWebClientProtocol)

Métodos

Abort()

Cancela una solicitud a un método de servicios Web XML.Cancels a request to an XML Web service method.

(Heredado de WebClientProtocol)
BeginInvoke(String, Object[], AsyncCallback, Object)

Inicia una invocación asincrónica de un método de servicios web XML utilizando SOAP.Starts an asynchronous invocation of an XML Web service method using SOAP.

CancelAsync(Object)

Cancela una llamada asincrónica a un método de servicios Web XML, a menos que la llamada ya haya finalizado.Cancels an asynchronous call to an XML Web service method, unless the call has already completed.

(Heredado de HttpWebClientProtocol)
CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
Discover()

Enlaza dinámicamente con el servicio Web XML descrito en el documento de descubrimiento en Url.Dynamically binds to an XML Web service described in the discovery document at Url.

Dispose()

Libera todos los recursos que usa Component.Releases all resources used by the Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Heredado de Component)
EndInvoke(IAsyncResult)

Finaliza una invocación asincrónica de un método de servicios Web XML utilizando SOAP.Ends an asynchronous invocation of an XML Web service method using SOAP.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

Devuelve un objeto XmlReader inicializado con la propiedad Stream del parámetro SoapClientMessage.Returns an XmlReader initialized with the Stream property of the SoapClientMessage parameter.

GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.Returns an object that represents a service provided by the Component or by its Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
GetWebRequest(Uri)

Crea un WebRequest para el uri especificado.Creates a WebRequest for the specified uri.

GetWebResponse(WebRequest)

Devuelve una respuesta de una solicitud sincrónica a un método de servicios Web XML.Returns a response from a synchronous request to an XML Web service method.

(Heredado de HttpWebClientProtocol)
GetWebResponse(WebRequest, IAsyncResult)

Devuelve una respuesta de una solicitud asincrónica a un método de servicios Web XML.Returns a response from an asynchronous request to an XML Web service method.

(Heredado de HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

Devuelve un objeto XmlWriter inicializado con la propiedad Stream del parámetro SoapClientMessage.Returns a XmlWriter initialized with the Stream property of the SoapClientMessage parameter.

InitializeLifetimeService()
Obsoleto.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
Invoke(String, Object[])

Llama a un método de servicios web XML de forma asincrónica utilizando SOAP.Invokes an XML Web service method synchronously using SOAP.

InvokeAsync(String, Object[], SendOrPostCallback)

Invoca al método especificado de forma asincrónica.Invokes the specified method asynchronously.

InvokeAsync(String, Object[], SendOrPostCallback, Object)

Invoca al método especificado de forma asincrónica.Invokes the specified method asynchronously.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
ToString()

Devuelve una String que contiene el nombre del Component, si existe.Returns a String containing the name of the Component, if any. Este método no se debe invalidar.This method should not be overridden.

(Heredado de Component)

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Heredado de Component)

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para la ejecución de subprocesos.This type is thread safe.

Consulte también