Freigeben über


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.