Condividi tramite


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.