SoapHttpClientProtocol Clase

Definición

Especifica el cliente de clase del que derivan los servidores proxy al usar 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 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 la entrada del usuario, que es una amenaza de seguridad potencial. De forma predeterminada, ASP.NET páginas web validan que la entrada del usuario no incluye elementos HTML ni de script. Para obtener más información, consulte Información general sobre vulnerabilidades de seguridad de script.

<%@ 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, 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 quiera 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

Nombre Description
SoapHttpClientProtocol()

Inicializa una nueva instancia de la clase SoapHttpClientProtocol.

Propiedades

Nombre Description
AllowAutoRedirect

Obtiene o establece si el cliente sigue automáticamente 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 de cliente.

(Heredado de HttpWebClientProtocol)
ConnectionGroupName

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

(Heredado de WebClientProtocol)
Container

Obtiene el IContainer objeto que contiene el Componentobjeto .

(Heredado de Component)
CookieContainer

Obtiene o establece la colección de cookies.

(Heredado de HttpWebClientProtocol)
Credentials

Obtiene o establece las credenciales de seguridad para la autenticación de cliente del servicio web XML.

(Heredado de WebClientProtocol)
DesignMode

Obtiene un valor que indica si Component el objeto 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 HttpWebClientProtocolobjeto .

(Heredado de HttpWebClientProtocol)
Events

Obtiene la lista de controladores de eventos que están asociados a este Componentobjeto .

(Heredado de Component)
PreAuthenticate

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

(Heredado de WebClientProtocol)
Proxy

Obtiene o establece información de proxy para realizar una solicitud de servicio web XML a través de un firewall.

(Heredado de HttpWebClientProtocol)
RequestEncoding

Encoding utilizado 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 utilizado para realizar la solicitud SOAP al servicio web XML.

Timeout

Indica la hora en que un cliente de servicio web XML espera a que llegue la respuesta a una solicitud de servicio web XML sincrónica (en milisegundos).

(Heredado de WebClientProtocol)
UnsafeAuthenticatedConnectionSharing

Obtiene o establece un valor que indica si el uso compartido de conexiones está habilitado cuando el cliente usa 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 solicita el cliente.

(Heredado de WebClientProtocol)
UseDefaultCredentials

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

(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

Nombre Description
Abort()

Cancela una solicitud a un método de servicio web XML.

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

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

CancelAsync(Object)

Cancela una llamada asincrónica a un método de servicio web XML, a menos que la llamada ya se haya completado.

(Heredado de HttpWebClientProtocol)
CreateObjRef(Type)

Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Discover()

Enlaza dinámicamente a un servicio web XML descrito en el documento de detección en Url.

Dispose()

Libera todos los recursos usados por .Component

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados utilizados por Component y, opcionalmente, libera los recursos administrados.

(Heredado de Component)
EndInvoke(IAsyncResult)

Finaliza una invocación asincrónica de un método de servicio web XML mediante SOAP.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()

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 XmlReader objeto inicializado con la Stream propiedad del SoapClientMessage parámetro .

GetService(Type)

Devuelve un objeto que representa un servicio proporcionado por Component o por su Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetWebRequest(Uri)

Crea un WebRequest para el objeto especificado uri.

GetWebResponse(WebRequest, IAsyncResult)

Devuelve una respuesta de una solicitud asincrónica a un método de servicio web XML.

(Heredado de HttpWebClientProtocol)
GetWebResponse(WebRequest)

Devuelve una respuesta de una solicitud sincrónica a un método de servicio web XML.

(Heredado de HttpWebClientProtocol)
GetWriterForMessage(SoapClientMessage, Int32)

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

InitializeLifetimeService()

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

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

Invoca un método de servicio web XML de forma sincrónica mediante SOAP.

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

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

InvokeAsync(String, Object[], SendOrPostCallback)

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

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto actual MarshalByRefObject .

(Heredado de MarshalByRefObject)
ToString()

Devuelve un String objeto que contiene el nombre de Component, si existe. Este método no se debe invalidar.

(Heredado de Component)

Eventos

Nombre Description
Disposed

Se produce cuando el componente se elimina mediante una llamada al Dispose() método .

(Heredado de Component)

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para subprocesos.

Consulte también