SoapHttpClientProtocol Clase

Definición

Especifica la clase cliente de la que se derivan los proxies cuando se utiliza el protocolo 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 ejemplo de código siguiente es una clase de proxy generada por Wsdl.exe para el Math servicio web XML. La clase de proxy deriva de SoapHttpClientProtocol, que deriva de la clase abstracta WebClientProtocol .

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

Importante

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.

<%@ 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 crear un cliente de servicio web XML, se debe crear una clase de proxy que derive indirectamente o directamente del WebClientProtocol servicio web XML. Cuando el cliente del servicio web XML llama a mediante SOAP, la clase de proxy debe derivar de SoapHttpClientProtocol, que deriva de HttpWebClientProtocol. HttpWebClientProtocol, a su vez, se deriva de WebClientProtocol.

Para comunicarse con un servicio web XML, cree una clase de proxy que derive indirectamente o directamente del WebClientProtocol servicio web XML al que desea llamar. En lugar de crear manualmente la clase de proxy, use la herramienta Lenguaje de descripción de servicios web (Wsdl.exe) para crear una clase de proxy para la descripción del servicio web XML determinada. Cuando se genera una clase de proxy para el protocolo SOAP, las llamadas sincrónicas a los métodos de servicio web XML se realizan a través del Invoke método , mientras que las llamadas asincrónicas se realizan mediante el BeginInvoke método y el EndInvoke método .

Notas a los desarrolladores de herederos

Al invalidar esta clase, puede introducir métodos en la clase derivada que son específicas de un tipo determinado de servicio web XML. 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. Si los métodos introducidos son asincrónicos, llame al BeginInvoke(String, Object[], AsyncCallback, Object) método y al EndInvoke(IAsyncResult) método . Si los métodos introducidos son sincrónicos, llame al Invoke(String, Object[]) método . El constructor invalidado normalmente establece la Url propiedad en la dirección URL del método de servicio web XML.

Constructores

SoapHttpClientProtocol()

Inicializa una nueva instancia de la clase SoapHttpClientProtocol.

Propiedades

AllowAutoRedirect

Obtiene o establece si el cliente sigue de forma automática las redirecciones del servidor.

(Heredado de HttpWebClientProtocol)
CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.

(Heredado de Component)
ClientCertificates

Obtiene la colección de certificados del cliente.

(Heredado de HttpWebClientProtocol)
ConnectionGroupName

Obtiene o establece el nombre del grupo de conexiones para la solicitud.

(Heredado de WebClientProtocol)
Container

Obtiene la interfaz IContainer que contiene la clase Component.

(Heredado de Component)
CookieContainer

Obtiene o establece la colección de cookies.

(Heredado de HttpWebClientProtocol)
Credentials

Obtiene o establece credenciales de seguridad para la autenticación del cliente de servicios Web XML.

(Heredado de WebClientProtocol)
DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.

(Heredado de Component)
EnableDecompression

Obtiene o establece un valor que indica si la descompresión está habilitada para este HttpWebClientProtocol.

(Heredado de HttpWebClientProtocol)
Events

Obtiene la lista de controladores de eventos asociados a Component.

(Heredado de Component)
PreAuthenticate

Obtiene o establece si la autenticación previa está habilitada.

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

(Heredado de HttpWebClientProtocol)
RequestEncoding

La instancia de Encoding que se utiliza para realizar la solicitud de cliente al servicio Web XML.

(Heredado de WebClientProtocol)
Site

Obtiene o establece ISite de Component.

(Heredado de Component)
SoapVersion

Obtiene o establece la versión del protocolo SOAP utilizada para realizar la solicitud SOAP al servicio Web XML.

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.

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

(Heredado de HttpWebClientProtocol)
Url

Obtiene o establece la dirección URL base del servicio Web XML que el cliente solicita.

(Heredado de WebClientProtocol)
UseDefaultCredentials

Obtiene o establece un valor que indica si se establece la propiedad Credentials en el valor de la propiedad DefaultCredentials.

(Heredado de WebClientProtocol)
UserAgent

Obtiene o establece el valor del encabezado del agente de usuario que se envía con cada solicitud.

(Heredado de HttpWebClientProtocol)

Métodos

Abort()

Cancela una solicitud a un método de servicios Web XML.

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

Inicia una invocación asincrónica de un método de servicios web XML utilizando SOAP.

CancelAsync(Object)

Cancela una llamada asincrónica a un método de servicios Web XML, a menos que la llamada ya haya finalizado.

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

(Heredado de MarshalByRefObject)
Discover()

Enlaza dinámicamente con el servicio Web XML descrito en el documento de descubrimiento en Url.

Dispose()

Libera todos los recursos que usa Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.

(Heredado de Component)
EndInvoke(IAsyncResult)

Finaliza una invocación asincrónica de un método de servicios Web XML utilizando SOAP.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetReaderForMessage(SoapClientMessage, Int32)

Devuelve un objeto XmlReader inicializado con la propiedad Stream del parámetro SoapClientMessage.

GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetWebRequest(Uri)

Crea un WebRequest para el uri especificado.

GetWebResponse(WebRequest)

Devuelve una respuesta de una solicitud sincrónica a un método de servicios Web XML.

(Heredado de HttpWebClientProtocol)
GetWebResponse(WebRequest, IAsyncResult)

Devuelve una respuesta de una solicitud asincrónica a un método de servicios Web XML.

(Heredado de HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

Devuelve un objeto XmlWriter inicializado con la propiedad Stream del parámetro SoapClientMessage.

InitializeLifetimeService()
Obsoleto.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

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

Llama a un método de servicios web XML de forma asincrónica utilizando SOAP.

InvokeAsync(String, Object[], SendOrPostCallback)

Invoca al método especificado de forma asincrónica.

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

Invoca al método especificado de forma asincrónica.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
ToString()

Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar.

(Heredado de Component)

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().

(Heredado de Component)

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para la ejecución de subprocesos.

Consulte también