Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

SoapHttpClientProtocol, classe

Spécifie la classe dont sont dérivés les proxies du client lors de l'utilisation de SOAP.

Espace de noms :  System.Web.Services.Protocols
Assembly :  System.Web.Services (dans System.Web.Services.dll)
[ComVisibleAttribute(true)]
public class SoapHttpClientProtocol : HttpWebClientProtocol

Le type SoapHttpClientProtocol expose les membres suivants.

  NomDescription
Méthode publiqueSoapHttpClientProtocolInitialise une nouvelle instance de la classe SoapHttpClientProtocol.
Début
  NomDescription
Propriété publiqueAllowAutoRedirectObtient ou définit le paramètre indiquant si le client suit automatiquement ou non les redirections du serveur. (Hérité de HttpWebClientProtocol.)
Propriété protégéeCanRaiseEventsObtient une valeur qui indique si le composant peut déclencher un événement. (Hérité de Component.)
Propriété publiqueClientCertificatesObtient la collection de certificats clients. (Hérité de HttpWebClientProtocol.)
Propriété publiqueConnectionGroupNameObtient ou définit le nom du groupe de connexions pour la demande. (Hérité de WebClientProtocol.)
Propriété publiqueContainerObtient le IContainer qui contient Component. (Hérité de Component.)
Propriété publiqueCookieContainerObtient ou définit la collection de cookies. (Hérité de HttpWebClientProtocol.)
Propriété publiqueCredentialsObtient ou définit les informations d'identification du client de service Web XML. (Hérité de WebClientProtocol.)
Propriété protégéeDesignModeObtient une valeur qui indique si Component est actuellement en mode design. (Hérité de Component.)
Propriété publiqueEnableDecompressionObtient ou définit une valeur qui indique si la décompression est activée pour cet HttpWebClientProtocol. (Hérité de HttpWebClientProtocol.)
Propriété protégéeEventsObtient la liste des gestionnaires d'événements attachés à ce Component. (Hérité de Component.)
Propriété publiquePreAuthenticateObtient ou définit si la pré-authentification est activée. (Hérité de WebClientProtocol.)
Propriété publiqueProxyObtient ou définit des informations relatives au proxy et permettant de faire passer une demande de service Web XML via un pare-feu. (Hérité de HttpWebClientProtocol.)
Propriété publiqueRequestEncoding Encoding utilisé pour formuler la demande du client au service Web XML. (Hérité de WebClientProtocol.)
Propriété publiqueSiteObtient ou définit le ISite de Component. (Hérité de Component.)
Propriété publiqueSoapVersionObtient ou définit la version du protocole SOAP utilisée pour effectuer la requête SOAP au service Web XML.
Propriété publiqueTimeoutIndique la durée (en millisecondes) pendant laquelle un client de service Web XML attend la réponse à une requête de service Web XML synchrone. (Hérité de WebClientProtocol.)
Propriété publiqueUnsafeAuthenticatedConnectionSharingObtient ou définit une valeur indiquant si le partage de connexion est activé lorsque le client utilise l'authentification NTLM pour se connecter au serveur Web hébergeant le service Web XML. (Hérité de HttpWebClientProtocol.)
Propriété publiqueUrlObtient ou définit l'URL de base du service Web XML demandé par le client. (Hérité de WebClientProtocol.)
Propriété publiqueUseDefaultCredentialsObtient ou définit une valeur indiquant si la propriété Credentials doit avoir la valeur de la propriété CredentialCache.DefaultCredentials. (Hérité de WebClientProtocol.)
Propriété publiqueUserAgentObtient ou définit la valeur de l'en-tête d'agent utilisateur (user agent) accompagnant chaque demande. (Hérité de HttpWebClientProtocol.)
Début
  NomDescription
Méthode publiqueAbortAnnule une demande d'une méthode de service Web XML. (Hérité de WebClientProtocol.)
Méthode protégéeBeginInvokeDébute un appel asynchrone d'une méthode de service Web XML au moyen de SOAP.
Méthode protégéeCancelAsyncAnnule un appel asynchrone à une méthode de service Web XML, sauf si l'appel est déjà terminé. (Hérité de HttpWebClientProtocol.)
Méthode publiqueCreateObjRefCrée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject.)
Méthode publiqueDiscoverEffectue la liaison dynamique à un service Web XML décrit dans le document de découverte situé à l'adresse Url.
Méthode publiqueDispose()Libère toutes les ressources utilisées par Component. (Hérité de Component.)
Méthode protégéeDispose(Boolean)Libère les ressources non managées utilisées par Component et libère éventuellement les ressources managées. (Hérité de Component.)
Méthode protégéeEndInvokeMet fin à un appel asynchrone d'une méthode de service Web XML au moyen de SOAP.
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéeFinalizeLibère les ressources non managées et exécute d'autres opérations de nettoyage avant la récupération de Component par le garbage collection. (Hérité de Component.)
Méthode publiqueGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiqueGetLifetimeServiceRécupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode protégéeGetReaderForMessageRetourne un XmlReader initialisé avec la propriété Stream du paramètre SoapClientMessage.
Méthode protégéeGetServiceRetourne un objet qui représente un service fourni par Component ou par son Container. (Hérité de Component.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéeGetWebRequestCrée un WebRequest pour le uri spécifié. (Substitue HttpWebClientProtocol.GetWebRequest(Uri).)
Méthode protégéeGetWebResponse(WebRequest)Retourne une réponse à partir d'une demande synchrone auprès d'une méthode de service Web XML. (Hérité de HttpWebClientProtocol.)
Méthode protégéeGetWebResponse(WebRequest, IAsyncResult)Retourne une réponse à partir d'une demande asynchrone auprès d'une méthode de service Web XML. (Hérité de HttpWebClientProtocol.)
Méthode protégéeGetWriterForMessageRetourne un XmlWriter initialisé avec la propriété Stream du paramètre SoapClientMessage.
Méthode publiqueInitializeLifetimeServiceObtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode protégéeInvokeAppelle une méthode de service Web XML de manière synchrone à l'aide de SOAP.
Méthode protégéeInvokeAsync(String, Object[], SendOrPostCallback)Appelle la méthode spécifiée de manière asynchrone.
Méthode protégéeInvokeAsync(String, Object[], SendOrPostCallback, Object)Appelle la méthode spécifiée de manière asynchrone.
Méthode protégéeMemberwiseClone()Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode protégéeMemberwiseClone(Boolean)Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject.)
Méthode publiqueToStringRetourne String contenant le nom du Component, s'il existe. Cette méthode ne doit pas être substituée. (Hérité de Component.)
Début
  NomDescription
Événement publicDisposedSe produit lorsque le composant est supprimé par un appel à la méthode Dispose. (Hérité de Component.)
Début

Si vous générez un client de service Web XML, une classe proxy dérivant directement ou indirectement de WebClientProtocol doit être créée pour le service Web XML. Si le client de service Web XML utilise SOAP pour l'appel, la classe proxy doit dériver de SoapHttpClientProtocol, qui est dérivé de HttpWebClientProtocol. HttpWebClientProtocol dérive, à son tour, de WebClientProtocol.

Pour communiquer avec un service Web XML, créez une classe proxy indirectement ou directement dérivée de WebClientProtocol pour le service Web XML à appeler. Au lieu de créer la classe proxy manuellement, ayez recours à l'outil Wsdl.exe (Web Services Description Language) afin de créer une classe proxy pour une description d'un service Web XML donné. Si une classe proxy est générée pour le protocole SOAP, les appels synchrones aux méthodes de services Web XML sont lancés à l'aide de la méthode Invoke, alors que les appels asynchrones sont lancés à l'aide des méthodes BeginInvoke et EndInvoke.

Remarques à l'attention des héritiers

Si vous substituez cette classe, vous pouvez introduire dans la classe dérivée des méthodes spécifiques à un type particulier de service Web XML. Les méthodes capturent les paramètres et appellent la classe de base pour qu'elle se charge des communications avec le service Web XML. Si les méthodes introduites sont asynchrones, appelez les méthodes BeginInvoke et EndInvoke. Si les méthodes introduites sont synchrones, appelez la méthode Invoke. Le constructeur substitué affecte généralement comme valeur à la propriété Url l'URL de la méthode de service Web XML.

L'exemple de code suivant est une classe proxy générée par Wsdl.exe pour le service Web XML Math. La classe proxy dérive de SoapHttpClientProtocol, qui dérive de la classe WebClientProtocol abstraite.



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]));
        }
    }
}



L'exemple de code suivant est le service Web XML Math, à partir duquel la classe proxy précédente a été générée.

Note de sécuritéNote de sécurité

Cet exemple a une zone de texte qui accepte l'entrée d'utilisateur, ce qui constitue une menace éventuelle pour la sécurité. Par défaut, les pages Web ASP.NET vérifient que les entrées d'utilisateur n'incluent pas de script ou d'éléments HTML. Pour plus d'informations, consultez 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;
          }
 }


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ce type est thread-safe.

Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
© 2013 Microsoft. Tous droits réservés.