Partager via


New-WebServiceProxy

Crée un objet proxy de service web qui vous permet d’utiliser et de gérer le service Web dans PowerShell.

Syntax

New-WebServiceProxy
   [-Uri] <Uri>
   [[-Class] <String>]
   [[-Namespace] <String>]
   [<CommonParameters>]
New-WebServiceProxy
   [-Uri] <Uri>
   [[-Class] <String>]
   [[-Namespace] <String>]
   [-Credential <PSCredential>]
   [<CommonParameters>]
New-WebServiceProxy
   [-Uri] <Uri>
   [[-Class] <String>]
   [[-Namespace] <String>]
   [-UseDefaultCredential]
   [<CommonParameters>]

Description

L’applet New-WebServiceProxy de commande vous permet d’utiliser un service web dans PowerShell. L’applet de commande se connecte à un service Web et crée un objet proxy de service web dans PowerShell. Vous pouvez utiliser l'objet proxy pour gérer le service Web.

Un service web est un programme XML qui échange des données sur un réseau, en particulier sur Internet. Microsoft .NET Framework fournit des objets proxy de service Web qui représentent le service Web sous la forme d'un objet .NET Framework.

Exemples

Exemple 1 : Créer un proxy pour un service web

Cet exemple crée un proxy .NET Framework du service web de calculatrice dans Windows PowerShell.

$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"

Exemple 2 : Créer un proxy pour un service Web et spécifier l’espace de noms et la classe

Cet exemple utilise l’applet New-WebServiceProxy de commande pour créer un proxy .NET Framework du service web de calculatrice.

$URI = "http://www.dneonline.com/calculator.asmx?wsdl"
$calc = New-WebServiceProxy -Uri $URI -Namespace "WSProxy" -Class "Calculator"

La commande utilise le paramètre Uri pour spécifier l’URI et les paramètres Espace de noms et Classe pour spécifier l’espace de noms et la classe de l’objet.

Exemple 3 : Afficher les méthodes d’un proxy de service web

$calc | Get-Member -MemberType method

TypeName: WSProxy.Calculator

Name                      MemberType Definition
----                      ---------- ----------
Abort                     Method     void Abort()
Add                       Method     int Add(int intA, int intB)
AddAsync                  Method     void AddAsync(int intA, int intB), void AddAsync(int intA,
BeginAdd                  Method     System.IAsyncResult BeginAdd(int intA, int intB, System.Asy
BeginDivide               Method     System.IAsyncResult BeginDivide(int intA, int intB, System.
BeginMultiply             Method     System.IAsyncResult BeginMultiply(int intA, int intB, Syste
BeginSubtract             Method     System.IAsyncResult BeginSubtract(int intA, int intB, Syste
CancelAsync               Method     void CancelAsync(System.Object userState)
CreateObjRef              Method     System.Runtime.Remoting.ObjRef CreateObjRef(type requestedT
Discover                  Method     void Discover()
Dispose                   Method     void Dispose(), void IDisposable.Dispose()
Divide                    Method     int Divide(int intA, int intB)
DivideAsync               Method     void DivideAsync(int intA, int intB), void DivideAsync(int
EndAdd                    Method     int EndAdd(System.IAsyncResult asyncResult)
EndDivide                 Method     int EndDivide(System.IAsyncResult asyncResult)
EndMultiply               Method     int EndMultiply(System.IAsyncResult asyncResult)
EndSubtract               Method     int EndSubtract(System.IAsyncResult asyncResult)
Equals                    Method     bool Equals(System.Object obj)
GetHashCode               Method     int GetHashCode()
GetLifetimeService        Method     System.Object GetLifetimeService()
GetType                   Method     type GetType()
InitializeLifetimeService Method     System.Object InitializeLifetimeService()
Multiply                  Method     int Multiply(int intA, int intB)
MultiplyAsync             Method     void MultiplyAsync(int intA, int intB), void MultiplyAsync(
Subtract                  Method     int Subtract(int intA, int intB)
SubtractAsync             Method     void SubtractAsync(int intA, int intB), void SubtractAsync(
ToString                  Method     string ToString()

Cet exemple utilise l’applet Get-Member de commande pour afficher les méthodes de l’objet proxy de service web dans la $calc variable. Nous avons recours à ces méthodes dans l’exemple suivant.

Notez que le TypeName de l’objet proxy, WebServiceProxy, reflète les noms d’espace de noms et de classes spécifiés dans l’exemple précédent.

Exemple 4 : Utiliser un proxy de service web

PS> $calc.Multiply(6,7)
42

Cet exemple utilise le proxy de service web stocké dans la $calc variable. La commande utilise la méthode Multiplie du proxy.

Paramètres

-Class

Spécifie le nom de la classe proxy que l'applet de commande crée pour le service Web. La valeur de ce paramètre est utilisée avec le paramètre Namespace pour fournir un nom complet pour la classe. La valeur par défaut est générée à partir de l’URI (Uniform Resource Identifier).

Type:String
Aliases:FileName, FN
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Spécifie un compte d’utilisateur qui a l’autorisation d’exécuter cette action. La valeur par défaut est l’utilisateur actuel. Il s’agit d’une alternative à l’utilisation du paramètre UseDefaultCredential .

Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential , tel qu’un objet généré par l’applet Get-Credential de commande. Si vous tapez un nom d’utilisateur, cette applet de commande vous invite à entrer un mot de passe.

Type:PSCredential
Aliases:Cred
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

Spécifie un espace de noms pour la nouvelle classe.

La valeur de ce paramètre est utilisée avec la valeur du paramètre Class pour générer un nom complet pour la classe. La valeur par défaut est Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes plus un type généré à partir de l’URI.

Vous pouvez définir la valeur du paramètre Espace de noms pour pouvoir accéder à plusieurs services Web portant le même nom.

Type:String
Aliases:NS
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Uri

Spécifie l'URI du service Web. Entrez un URI ou le chemin d’accès et le nom de fichier d’un fichier qui contient une description de service.

L’URI doit retourner une .asmx page ou une page qui retourne une description de service. Pour renvoyer une description de service d’un service Web créé à l’aide de ASP.NET, ajoutez « ? WSDL » vers l’URL du service Web (par exemple, http://www.contoso.com/MyWebService.asmx?WSDL).

Type:Uri
Aliases:WL, WSDL, Path
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredential

Indique que cette applet de commande utilise les informations d’identification par défaut. Cette applet de commande définit la propriété UseDefaultCredential dans l’objet proxy résultant sur True. Il s’agit d’une alternative à l’utilisation du paramètre Credential .

Type:SwitchParameter
Aliases:UDC
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

None

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

A Web service proxy object

Cette applet de commande retourne un objet proxy de service web. L'espace de noms et la classe des objets sont déterminés par les paramètres de la commande. La valeur par défaut est générée à partir de l’URI d’entrée.

Notes

New-WebServiceProxy utilise la classe System.Net.WebClient pour charger le service Web spécifié.