New-WebServiceProxy
Crea un oggetto proxy del servizio Web che consente di utilizzare e gestire il servizio Web in Windows PowerShell.
Sintassi
New-WebServiceProxy [-URI] <Uri> [[-Classe] <string>] [[-Spazio dei nomi] <string>] [<CommonParameters>]
New-WebServiceProxy [-URI] <Uri> [[-Classe] <string>] [[-Spazio dei nomi] <string>] [-Credential <PSCredential>] [<CommonParameters>]
New-WebServiceProxy [-URI] <Uri> [[-Classe] <string>] [[-Spazio dei nomi] <string>] [-UseDefaultCredential] [<CommonParameters>]
Descrizione
Il cmdlet New-WebServiceProxy consente di utilizzare un servizio Web in Windows PowerShell. Viene stabilita la connessione a un servizio Web e viene creato un oggetto proxy del servizio Web in Windows PowerShell. È possibile utilizzare l'oggetto proxy per gestire il servizio Web.
Un servizio Web è un programma basato su XML che consente lo scambio di dati su una rete, in particolare su Internet. Microsoft .NET Framework fornisce oggetti proxy per servizi Web che rappresentano il servizio Web come oggetto .NET Framework.
Parametri
-Classe <string>
Specifica un nome per la classe proxy creata dal cmdlet per il servizio Web. Il valore di questo parametro viene utilizzato con il parametro Namespace per fornire un nome completo per la classe. Il valore predefinito viene generato dall'URI.
Obbligatorio? |
false |
Posizione? |
2 |
Valore predefinito |
Generated from the URI |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Credential <PSCredential>
Specifica un account utente con autorizzazione per l'esecuzione di questa azione. Il valore predefinito è l'utente corrente. Si tratta di un'alternativa all'utilizzo del parametro UseDefaultCredential.
Digitare un nome utente, ad esempio "Utente01" o "Dominio01\Utente01". In alternativa, immettere un oggetto PSCredential, ad esempio quello generato dal cmdlet Get-Credential. Se si digita un nome utente, viene richiesta una password.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Spazio dei nomi <string>
Specifica uno spazio dei nomi per la nuova classe.
Il valore di questo parametro viene utilizzato con il 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.
Obbligatorio? |
false |
Posizione? |
3 |
Valore predefinito |
Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-URI <Uri>
Specifica l'URI del servizio Web. Immettere un URI o il percorso e il nome di un file che contiene una descrizione del servizio.
È necessario che l'URI faccia riferimento a una pagina asmx o a una pagina che restituisce una descrizione del servizio. Per restituire una descrizione di un servizio Web creato tramite ASP.NET, aggiungere "?WSDL" all'URL del servizio Web (ad esempio https://www.contoso.com/MyWebService.asmx?WSDL).
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-UseDefaultCredential
Imposta su True il parametro UseDefaultCredential nell'oggetto proxy risultante. Si tratta di un'alternativa all'utilizzo del parametro Credential.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
False |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
Nessuno Questo cmdlet non accetta input dalla pipeline. |
Output |
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 (Uniform Resource Identifier) di input. |
Note
New-WebServiceProxy utilizza la classe System.Net.WebClient per caricare il servizio Web specificato.
Esempio 1
C:\PS>$zip = New-WebServiceProxy -uri http://www.webservicex.net/uszip.asmx?WSDL
Descrizione
-----------
In questo comando viene utilizzato il comando New-WebServiceProxy per creare un proxy .NET Framework del servizio Web US Zip in Windows PowerShell.
Esempio 2
C:\PS>$URI = "http://www.webservicex.net/uszip.asmx?WSDL"
C:\PS> $zip = New-WebServiceProxy -uri $URI -namespace WebServiceProxy -class ZipClass
Descrizione
-----------
In questo comando viene utilizzato il cmdlet New-WebServiceProxy per creare il proxy .NET Framework del servizio Web US Zip.
Con il primo comando l'URI del servizio Web viene archiviato nella variabile $URI.
Con il secondo comando viene creato il proxy del servizio Web. Vengono utilizzati 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
C:\PS>$zip | get-member -type 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
Descrizione
-----------
In questo comando viene utilizzato il cmdlet Get-Member per visualizzare i metodi dell'oggetto proxy del servizio Web nella variabile $zip. Questi metodi verranno utilizzati nell'esempio seguente.
Si noti che TypeName dell'oggetto proxy, WebServiceProxy, riflette lo spazio dei nomi e i nomi delle classi specificati nell'esempio precedente.
Esempio 4
C:\PS>$zip.getinfobyzip(20500).table
CITY : Washington
STATE : DC
ZIP : 20500
AREA_CODE : 202
TIME_ZONE : E
Descrizione
-----------
In questo comando viene utilizzato il proxy del servizio Web archiviato nella variabile Zip. Vengono utilizzati il metodo GetInfoByZip del proxy e la proprietà Table.