New-WebServiceProxy
Crea un oggetto proxy del servizio Web che consente di utilizzare e gestire il servizio Web in Windows PowerShell.
Sintassi
NoCredentials (Impostazione predefinita)
New-WebServiceProxy
[-Uri] <Uri>
[[-Class] <String>]
[[-Namespace] <String>]
[<CommonParameters>]
Credential
New-WebServiceProxy
[-Uri] <Uri>
[[-Class] <String>]
[[-Namespace] <String>]
[-Credential <PSCredential>]
[<CommonParameters>]
UseDefaultCredential
New-WebServiceProxy
[-Uri] <Uri>
[[-Class] <String>]
[[-Namespace] <String>]
[-UseDefaultCredential]
[<CommonParameters>]
Descrizione
Il cmdlet New-WebServiceProxy consente di utilizzare 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 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
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: Creare 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 utilizza il cmdlet New-WebServiceProxy per creare un proxy .NET Framework del servizio Web Zip degli Stati Uniti.
Il primo comando memorizza 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 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
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 utilizza il cmdlet Get-Member per visualizzare i metodi dell'oggetto proxy del servizio Web nella variabile $zip. Utilizzeremo questi metodi 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 C:\> $zip.GetInfoByZip(20500).table
CITY : Washington
STATE : DC
ZIP : 20500
AREA_CODE : 202
TIME_ZONE : E
Questo comando utilizza il proxy del servizio Web archiviato nella variabile $zip. Il comando utilizza il metodo GetInfoByZip del proxy e la relativa proprietà Table.
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).
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Nome del file, FN |
Set di parametri
(All)
| Posizione: | 1 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | 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.
Proprietà dei parametri
| Tipo: | PSCredential |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Cred |
Set di parametri
Credential
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | 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.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | NS |
Set di parametri
(All)
| Posizione: | 2 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Uri
Specifica l'URI del servizio Web. Immettere un URI o il percorso e il nome file di un file che contiene una descrizione del servizio.
L'URI deve fare riferimento a una pagina con estensione asmx o a una pagina che restituisce una descrizione del servizio.
Per restituire una descrizione del servizio di un servizio Web creato utilizzando ASP.NET, aggiungere "? WSDL" all'URL del servizio Web (ad esempio, https://www.contoso.com/MyWebService.asmx?WSDL).
Proprietà dei parametri
| Tipo: | Uri |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | WL, WSDL, Percorso |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | 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.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | UDC |
Set di parametri
UseDefaultCredential
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
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 utilizza la classe System.Net.WebClient per caricare il servizio Web specificato.