SoapHttpClientProtocol Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica o cliente de classe do qual os proxies derivam ao 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
- Herança
- Atributos
Exemplos
O exemplo de código a seguir é uma classe proxy gerada por Wsdl.exe para o Math serviço Web XML. A classe proxy deriva de SoapHttpClientProtocol, que deriva da classe abstrata 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
O exemplo de código a seguir é o Math serviço Web XML, do qual a classe proxy anterior foi gerada.
Importante
Este exemplo tem uma caixa de texto que aceita a entrada do usuário, que é uma potencial ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos de script ou HTML. Para obter mais informações, consulte Visão geral das Explorações 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
Comentários
Se você estiver criando um cliente de serviço Web XML, uma classe proxy que deriva indiretamente ou diretamente deve WebClientProtocol ser criada para o serviço Web XML. Quando o cliente do serviço Web XML chama usando SOAP, a classe proxy deve derivar de SoapHttpClientProtocol, que deriva de HttpWebClientProtocol. HttpWebClientProtocol, por sua vez, deriva de WebClientProtocol.
Para se comunicar com um serviço Web XML, crie uma classe proxy que deriva indiretamente ou diretamente do WebClientProtocol serviço Web XML que você deseja chamar. Em vez de criar a classe proxy manualmente, use a ferramenta Linguagem de Descrição dos Serviços Web (Wsdl.exe) para criar uma classe proxy para uma descrição de serviço de determinado serviço Web XML. Quando uma classe proxy é gerada para o protocolo SOAP, chamadas síncronas para métodos de serviço Web XML são feitas por meio do Invoke método, enquanto chamadas assíncronas são feitas usando o BeginInvoke método e o EndInvoke método.
Notas aos Herdeiros
Ao substituir essa classe, você pode introduzir métodos na classe derivada que são específicos para um tipo específico de serviço Web XML. Os métodos capturam os parâmetros e chamam a classe base para fazer o trabalho de comunicação com o serviço Web XML. Se os métodos introduzidos forem assíncronos, chame o BeginInvoke(String, Object[], AsyncCallback, Object) método e o EndInvoke(IAsyncResult) método. Se os métodos introduzidos forem síncronos, chame o Invoke(String, Object[]) método. O construtor substituído normalmente define a Url propriedade como a URL do método de serviço Web XML.
Construtores
| Nome | Description |
|---|---|
| SoapHttpClientProtocol() |
Inicializa uma nova instância da classe SoapHttpClientProtocol. |
Propriedades
| Nome | Description |
|---|---|
| AllowAutoRedirect |
Obtém ou define se o cliente segue automaticamente os redirecionamentos do servidor. (Herdado de HttpWebClientProtocol) |
| CanRaiseEvents |
Obtém um valor que indica se o componente pode gerar um evento. (Herdado de Component) |
| ClientCertificates |
Obtém a coleção de certificados de cliente. (Herdado de HttpWebClientProtocol) |
| ConnectionGroupName |
Obtém ou define o nome do grupo de conexões para a solicitação. (Herdado de WebClientProtocol) |
| Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
| CookieContainer |
Obtém ou define a coleção de cookies. (Herdado de HttpWebClientProtocol) |
| Credentials |
Obtém ou define credenciais de segurança para autenticação de cliente do serviço Web XML. (Herdado de WebClientProtocol) |
| DesignMode |
Obtém um valor que indica se o Component está no modo de design no momento. (Herdado de Component) |
| EnableDecompression |
Obtém ou define um valor que indica se a descompactação está habilitada para isso HttpWebClientProtocol. (Herdado de HttpWebClientProtocol) |
| Events |
Obtém a lista de manipuladores de eventos anexados a isso Component. (Herdado de Component) |
| PreAuthenticate |
Obtém ou define se a pré-autenticação está habilitada. (Herdado de WebClientProtocol) |
| Proxy |
Obtém ou define informações de proxy para fazer uma solicitação de serviço Web XML por meio de um firewall. (Herdado de HttpWebClientProtocol) |
| RequestEncoding |
O Encoding usado para fazer a solicitação do cliente para o serviço Web XML. (Herdado de WebClientProtocol) |
| Site |
Obtém ou define o ISite do Component. (Herdado de Component) |
| SoapVersion |
Obtém ou define a versão do protocolo SOAP usada para fazer a solicitação SOAP para o serviço Web XML. |
| Timeout |
Indica o tempo em que um cliente de serviço Web XML aguarda a resposta a uma solicitação de serviço Web XML síncrona chegar (em milissegundos). (Herdado de WebClientProtocol) |
| UnsafeAuthenticatedConnectionSharing |
Obtém ou define um valor que indica se o compartilhamento de conexão está habilitado quando o cliente usa a autenticação NTLM para se conectar ao servidor Web que hospeda o serviço Web XML. (Herdado de HttpWebClientProtocol) |
| Url |
Obtém ou define a URL base do serviço Web XML que o cliente está solicitando. (Herdado de WebClientProtocol) |
| UseDefaultCredentials |
Obtém ou define um valor que indica se a Credentials propriedade deve ser definida como o valor da DefaultCredentials propriedade. (Herdado de WebClientProtocol) |
| UserAgent |
Obtém ou define o valor do cabeçalho do agente de usuário que é enviado com cada solicitação. (Herdado de HttpWebClientProtocol) |
Métodos
| Nome | Description |
|---|---|
| Abort() |
Cancela uma solicitação para um método de serviço Web XML. (Herdado de WebClientProtocol) |
| BeginInvoke(String, Object[], AsyncCallback, Object) |
Inicia uma invocação assíncrona de um método de serviço Web XML usando SOAP. |
| CancelAsync(Object) |
Cancela uma chamada assíncrona para um método de serviço Web XML, a menos que a chamada já tenha sido concluída. (Herdado de HttpWebClientProtocol) |
| CreateObjRef(Type) |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Discover() |
Associa dinamicamente a um serviço Web XML descrito no documento de descoberta em Url. |
| Dispose() |
Libera todos os recursos usados pelo Component. (Herdado de Component) |
| Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo Component e, opcionalmente, libera os recursos gerenciados. (Herdado de Component) |
| EndInvoke(IAsyncResult) |
Encerra uma invocação assíncrona de um método de serviço Web XML usando SOAP. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
| GetReaderForMessage(SoapClientMessage, Int32) |
Retorna um XmlReader inicializado com a Stream propriedade do SoapClientMessage parâmetro. |
| GetService(Type) |
Retorna um objeto que representa um serviço fornecido pelo Component ou por sua Container. (Herdado de Component) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetWebRequest(Uri) |
Cria um WebRequest para o especificado |
| GetWebResponse(WebRequest, IAsyncResult) |
Retorna uma resposta de uma solicitação assíncrona para um método de serviço Web XML. (Herdado de HttpWebClientProtocol) |
| GetWebResponse(WebRequest) |
Retorna uma resposta de uma solicitação síncrona para um método de serviço Web XML. (Herdado de HttpWebClientProtocol) |
| GetWriterForMessage(SoapClientMessage, Int32) |
Retorna um XmlWriter inicializado com a Stream propriedade do SoapClientMessage parâmetro. |
| InitializeLifetimeService() |
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância. (Herdado de MarshalByRefObject) |
| Invoke(String, Object[]) |
Invoca um método de serviço Web XML de forma síncrona usando SOAP. |
| InvokeAsync(String, Object[], SendOrPostCallback, Object) |
Invoca o método especificado de forma assíncrona. |
| InvokeAsync(String, Object[], SendOrPostCallback) |
Invoca o método especificado de forma assíncrona. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| ToString() |
Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído. (Herdado de Component) |
Eventos
| Nome | Description |
|---|---|
| Disposed |
Ocorre quando o componente é descartado por uma chamada para o Dispose() método. (Herdado de Component) |
Aplica-se a
Acesso thread-safe
Esse tipo é thread safe.