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 New-WebServiceProxy
cmdlet 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 gli 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
In questo esempio viene usato il New-WebServiceProxy
cmdlet 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 i parametri Namespace e Class 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 Get-Member
cmdlet per visualizzare i metodi dell'oggetto proxy del servizio Web nella $calc
variabile . Questi metodi vengono usati nell'esempio seguente.
Si noti che 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 $calc
variabile . Il comando usa il metodo Multiply del proxy.
Parametri
-Class
Specifica un nome per la classe proxy che il cmdlet crea 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 che dispone delle autorizzazioni per 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 uno generato dal Get-Credential
cmdlet. 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 Class 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 .asmx
pagina o 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 Credential .
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 input tramite pipe 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.