New-WebServiceProxy
Erstellt ein Webdienstproxyobjekt, mit dem Sie den Webdienst in PowerShell verwenden und verwalten können.
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>]
Beschreibung
Mit dem New-WebServiceProxy
Cmdlet können Sie einen Webdienst in PowerShell verwenden. Das Cmdlet stellt eine Verbindung mit einem Webdienst und erstellt ein Webdienstproxyobjekt in PowerShell. Sie können den Webdienst mithilfe des Proxyobjekts verwalten.
Ein Webdienst ist ein XML-basiertes Programm, das Daten über ein Netzwerk austauscht, insbesondere über das Internet. Microsoft .NET Framework stellt Webdienstproxyobjekte bereit, die den Webdienst als .NET Framework-Objekt darstellen.
Beispiele
Beispiel 1: Erstellen eines Proxys für einen Webdienst
In diesem Beispiel wird ein .NET Framework-Proxy des Rechnerwebdiensts in Windows PowerShell erstellt.
$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"
Beispiel 2: Erstellen eines Proxys für einen Webdienst und Angeben von Namespace und Klasse
In diesem Beispiel wird das New-WebServiceProxy
Cmdlet verwendet, um einen .NET Framework-Proxy des Rechnerwebdiensts zu erstellen.
$URI = "http://www.dneonline.com/calculator.asmx?wsdl"
$calc = New-WebServiceProxy -Uri $URI -Namespace "WSProxy" -Class "Calculator"
Der Befehl verwendet den URI-Parameter , um den URI und die parameter Namespace und Class anzugeben, um den Namespace und die Klasse des Objekts anzugeben.
Beispiel 3: Anzeigen von Methoden eines Webdienstproxys
$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()
In diesem Beispiel wird das Get-Member
Cmdlet verwendet, um die Methoden des Webdienstproxyobjekts in der $calc
Variablen anzuzeigen. Wir verwenden diese Methoden im folgenden Beispiel.
Beachten Sie, dass der TypeName des Proxyobjekts, WebServiceProxy, den Namespace und die Klassennamen widerspiegelt, die im vorherigen Beispiel angegeben wurden.
Beispiel 4: Verwenden eines Webdienstproxys
PS> $calc.Multiply(6,7)
42
In diesem Beispiel wird der webdienstproxy verwendet, der in der $calc
Variablen gespeichert ist. Der Befehl verwendet die Multiplikationsmethode des Proxys.
Parameter
-Class
Gibt einen Namen für die Proxyklasse an, die das Cmdlet für den Webdienst erstellt. Der Wert dieses Parameters wird zusammen mit dem parameter Namespace verwendet, um einen vollqualifizierten Namen für die Klasse bereitzustellen. Der Standardwert wird aus dem URI (Uniform Resource Identifier) generiert.
Typ: | String |
Aliase: | FileName, FN |
Position: | 1 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer. Dies ist eine Alternative zur Verwendung des Parameters UseDefaultCredential .
Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential-Objekt ein, z. B. ein vom Get-Credential
Cmdlet generiertes Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie von diesem Cmdlet aufgefordert, ein Kennwort einzugeben.
Typ: | PSCredential |
Aliase: | Cred |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Namespace
Gibt einen Namespace für die neue Klasse an.
Der Wert dieses Parameters wird zusammen mit dem Wert des Class-Parameters verwendet, um einen vollqualifizierten Namen für die Klasse zu generieren. Der Standardwert ist "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes " sowie ein Typ, der aus dem URI generiert wird.
Sie können den Wert des Namespace Parameters festlegen, sodass Sie auf mehrere Webdienste zugreifen können, die denselben Namen haben.
Typ: | String |
Aliase: | NS |
Position: | 2 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Uri
Gibt den URI des Webdiensts an. Geben Sie einen URI oder den Pfad und Dateinamen einer Datei ein, die eine Dienstbeschreibung enthält.
Der URI muss eine .asmx
Seite oder eine Seite zurückgeben, die eine Dienstbeschreibung zurückgibt. Um eine Dienstbeschreibung eines Webdiensts zurückzugeben, der mit ASP.NET erstellt wurde, fügen Sie "? WSDL" zur URL des Webdiensts (z. B http://www.contoso.com/MyWebService.asmx?WSDL
. ).
Typ: | Uri |
Aliase: | WL, WSDL, Path |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-UseDefaultCredential
Gibt an, dass dieses Cmdlet die Standardanmeldeinformationen verwendet. Mit diesem Cmdlet wird die UseDefaultCredential-Eigenschaft im resultierenden Proxyobjekt auf True festgelegt. Dies ist eine Alternative zur Verwendung des Parameters "Credential ".
Typ: | SwitchParameter |
Aliase: | UDC |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
A Web service proxy object
Dieses Cmdlet gibt ein Webdienstproxyobjekt zurück. Der Namespace und die Klasse des Objekts werden von den Parametern des Befehls bestimmt. Der Standardwert wird aus dem Eingabe-URI generiert.
Hinweise
New-WebServiceProxy
verwendet die System.Net.WebClient-Klasse , um den angegebenen Webdienst zu laden.