Condividi tramite


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.