New-WebServiceProxy
Crea un oggetto proxy di servizio Web che consente di usare e gestire il servizio Web in Windows 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 Windows PowerShell. Il cmdlet si connette a un servizio Web e crea un oggetto proxy del servizio Web in Windows PowerShell. È possibile usare l'oggetto proxy per gestire il servizio Web.
Un servizio Web è un programma basato su XML che scambia i dati in rete, in particolare tramite Internet. Microsoft .NET Framework fornisce gli oggetti proxy del servizio Web che rappresentano il servizio Web come oggetto .NET Framework.
Esempio
Esempio 1: Create un proxy per un servizio Web
PS C:\> $zip = New-WebServiceProxy -Uri "http://www.webservicex.net/uszip.asmx?WSDL"
Questo comando crea un proxy .NET Framework del servizio Web ZIP degli Stati Uniti in Windows PowerShell.
Esempio 2: Create un proxy per un servizio Web e specificare lo spazio dei nomi e la classe
PS C:\> $URI = "http://www.webservicex.net/uszip.asmx?WSDL"
PS C:\> $zip = New-WebServiceProxy -Uri $URI -Namespace "WebServiceProxy" -Class "USZip"
Questo comando usa il cmdlet New-WebServiceProxy per creare un proxy di .NET Framework del servizio Web US Zip.
Il primo comando archivia l'URI del servizio Web nella variabile $URI.
Il secondo comando crea il proxy del servizio Web. 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
PS C:\> $zip | Get-Member -MemberType method
TypeName: WebServiceProxy.USZip
Name MemberType Definition
---- ---------- ----------
Abort Method System.Void Abort(
BeginGetInfoByAreaCode Method System.IAsyncResul
BeginGetInfoByCity Method System.IAsyncResul
BeginGetInfoByState Method System.IAsyncResul
BeginGetInfoByZIP Method System.IAsyncResul
CreateObjRef Method System.Runtime.Rem
Discover Method System.Void Discov
Dispose Method System.Void Dispos
EndGetInfoByAreaCode Method System.Xml.XmlNode
EndGetInfoByCity Method System.Xml.XmlNode
EndGetInfoByState Method System.Xml.XmlNode
EndGetInfoByZIP Method System.Xml.XmlNode
Equals Method System.Boolean Equ
GetHashCode Method System.Int32 GetHa
GetInfoByAreaCode Method System.Xml.XmlNode
GetInfoByCity Method System.Xml.XmlNode
GetInfoByState Method System.Xml.XmlNode
GetInfoByZIP Method System.Xml.XmlNode
GetLifetimeService Method System.Object GetL
GetType Method System.Type GetTyp
InitializeLifetimeService Method System.Object Init
ToString Method System.String ToSt
Questo comando usa il cmdlet Get-Member per visualizzare i metodi dell'oggetto proxy del servizio Web nella variabile $zip. Questi metodi verranno 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 C:\> $zip.GetInfoByZip(20500).table
CITY : Washington
STATE : DC
ZIP : 20500
AREA_CODE : 202
TIME_ZONE : E
Questo comando usa il proxy del servizio Web archiviato nella variabile $zip. Il comando usa il metodo GetInfoByZip del proxy e la relativa proprietà Table.
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).
Type: | String |
Aliases: | FileName, FN |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 cmdlet Get-Credential. Se si digita un nome utente, questo cmdlet richiede una password.
Type: | PSCredential |
Aliases: | Cred |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 che sia possibile accedere a più servizi Web con lo stesso nome.
Type: | String |
Aliases: | NS |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Uri
Specifica l'URI del servizio Web. Immettere un URI o il percorso e il nome file contenente una descrizione del servizio.
L'URI deve fare riferimento a 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 https://www.contoso.com/MyWebService.asmx?WSDL
.
Type: | Uri |
Aliases: | WL, WSDL, Path |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 .
Type: | SwitchParameter |
Aliases: | UDC |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.