New-WebServiceProxy
Crea un oggetto proxy del servizio Web che consente di usare e gestire il servizio Web in PowerShell.
Sintassi
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>]
Descrizione
Il cmdlet New-WebServiceProxy
consente di usare un servizio Web in PowerShell. Il cmdlet si connette a un servizio Web e crea un oggetto proxy del servizio Web in PowerShell. È possibile usare l'oggetto proxy per gestire il servizio Web.
Un servizio Web è un programma basato su XML che scambia i dati su una rete, soprattutto tramite Internet. Microsoft .NET Framework fornisce oggetti proxy del servizio Web che rappresentano il servizio Web come oggetto .NET Framework.
Esempio
Esempio 1: Creare un proxy per un servizio Web
In questo esempio viene creato un proxy .NET Framework del servizio Web calcolatrice in Windows PowerShell.
$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"
Esempio 2: Creare un proxy per un servizio Web e specificare lo spazio dei nomi e la classe
Questo esempio usa il cmdlet New-WebServiceProxy
per creare un proxy .NET Framework del servizio Web calcolatrice.
$URI = "http://www.dneonline.com/calculator.asmx?wsdl"
$calc = New-WebServiceProxy -Uri $URI -Namespace "WSProxy" -Class "Calculator"
Il comando usa il parametro URI per specificare l'URI e lo spazio dei nomi e i parametri Classe per specificare lo spazio dei nomi e la classe dell'oggetto.
Esempio 3: Visualizzare i metodi di un proxy del servizio 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()
In questo esempio viene utilizzato il cmdlet Get-Member
per visualizzare i metodi dell'oggetto proxy del servizio Web nella variabile $calc
. Questi metodi vengono usati nell'esempio seguente.
Si noti che il TypeName dell'oggetto proxy WebServiceProxy riflette i nomi dello spazio dei nomi e delle classi specificati nell'esempio precedente.
Esempio 4: Usare un proxy del servizio Web
PS> $calc.Multiply(6,7)
42
In questo esempio viene usato il proxy del servizio Web archiviato nella variabile $calc
. Il comando usa il metodo multipli del proxy.
Parametri
-Class
Specifica un nome per la classe proxy creata dal cmdlet per il servizio Web. Il valore di questo parametro viene usato insieme al parametro Namespace per fornire un nome completo per la classe . Il valore predefinito viene generato dall'URI (Uniform Resource Identifier).
Tipo: | String |
Alias: | FileName, FN |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Credential
Specifica un account utente autorizzato a eseguire questa azione. Il valore predefinito è l'utente corrente. Si tratta di un'alternativa all'uso del parametro UseDefaultCredential.
Digitare un nome utente, ad esempio User01 o Domain01\User01, oppure immettere un oggetto PSCredential, ad esempio quello generato dal cmdlet Get-Credential
. Se si digita un nome utente, questo cmdlet richiede una password.
Tipo: | PSCredential |
Alias: | Cred |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Namespace
Specifica uno spazio dei nomi per la nuova classe.
Il valore di questo parametro viene usato insieme al valore del parametro Classe per generare un nome completo per la classe. Il valore predefinito è Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes più un tipo generato dall'URI.
È possibile impostare il valore del parametro Namespace in modo da poter accedere a più servizi Web con lo stesso nome.
Tipo: | String |
Alias: | NS |
Posizione: | 2 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Uri
Specifica l'URI del servizio Web. Immettere un URI o il percorso e il nome file di un file contenente una descrizione del servizio.
L'URI deve restituire una pagina .asmx
o a una pagina che restituisce una descrizione del servizio. Per restituire una descrizione del servizio di un servizio Web creato tramite ASP.NET, aggiungere "? WSDL" all'URL del servizio Web , ad esempio http://www.contoso.com/MyWebService.asmx?WSDL
.
Tipo: | Uri |
Alias: | WL, WSDL, Path |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-UseDefaultCredential
Indica che questo cmdlet usa le credenziali predefinite. Questo cmdlet imposta la proprietà UseDefaultCredential nell'oggetto proxy risultante su True. Si tratta di un'alternativa all'uso del parametro credenziali.
Tipo: | SwitchParameter |
Alias: | UDC |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe l'input a questo cmdlet.
Output
A Web service proxy object
Questo cmdlet restituisce un oggetto proxy del servizio Web. Lo spazio dei nomi e la classe dell'oggetto sono determinati dai parametri del comando. Il valore predefinito viene generato dall'URI di input.
Note
New-WebServiceProxy
usa la classe System.Net.WebClient per caricare il servizio Web specificato.