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 Cmdlet New-WebServiceProxy 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 das Proxyobjekt verwenden, um den Webdienst zu 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 Cmdlet New-WebServiceProxy 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 den Namespace- und Class Parameter 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 Cmdlet Get-Member verwendet, um die Methoden des Webdienstproxyobjekts in der variablen $calc anzuzeigen. Wir verwenden diese Methoden im folgenden Beispiel.

Beachten Sie, dass der TypeName- des Proxyobjekts, WebServiceProxy, den Namespace- und 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 variablen $calc gespeichert ist. Der Befehl verwendet die Multiplizieren Methode des Proxys.

Parameter

-Class

Gibt einen Namen für die Proxyklasse an, die vom Cmdlet für den Webdienst erstellt wird. Der Wert dieses Parameters wird zusammen mit dem Namespace Parameter 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. Die Standardeinstellung 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 Objekt, das vom Cmdlet Get-Credential generiert wird. 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 parameters Class verwendet, um einen vollqualifizierten Namen für die Klasse zu generieren. Der Standardwert ist Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes plus einen 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 eigenschaft UseDefaultCredential 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

Sie können keine Eingabe an dieses Cmdlet weiterleiten.

Ausgaben

A Web service proxy object

Dieses Cmdlet gibt ein Webdienstproxyobjekt zurück. Der Namespace und die Klasse des Objekts werden durch die Parameter 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.