New-WebServiceProxy

Crea un oggetto proxy del servizio Web che consente di usare e gestire il servizio Web in 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 New-WebServiceProxy cmdlet consente di usare un servizio Web in PowerShell. Il cmdlet si connette a un servizio Web e crea un oggetto proxy del servizio Web in 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 gli oggetti proxy del servizio Web che rappresentano il servizio Web come oggetto .NET Framework.

Esempio

Esempio 1: Creare un proxy per un servizio Web

In questo esempio viene creato un proxy .NET Framework del servizio Web calcolatrice in Windows PowerShell.

$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"

Esempio 2: Creare un proxy per un servizio Web e specificare lo spazio dei nomi e la classe

In questo esempio viene usato il New-WebServiceProxy cmdlet per creare un proxy .NET Framework del servizio Web calcolatrice.

$URI = "http://www.dneonline.com/calculator.asmx?wsdl"
$calc = New-WebServiceProxy -Uri $URI -Namespace "WSProxy" -Class "Calculator"

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

$calc | Get-Member -MemberType method

TypeName: WSProxy.Calculator

Name                      MemberType Definition
----                      ---------- ----------
Abort                     Method     void Abort()
Add                       Method     int Add(int intA, int intB)
AddAsync                  Method     void AddAsync(int intA, int intB), void AddAsync(int intA,
BeginAdd                  Method     System.IAsyncResult BeginAdd(int intA, int intB, System.Asy
BeginDivide               Method     System.IAsyncResult BeginDivide(int intA, int intB, System.
BeginMultiply             Method     System.IAsyncResult BeginMultiply(int intA, int intB, Syste
BeginSubtract             Method     System.IAsyncResult BeginSubtract(int intA, int intB, Syste
CancelAsync               Method     void CancelAsync(System.Object userState)
CreateObjRef              Method     System.Runtime.Remoting.ObjRef CreateObjRef(type requestedT
Discover                  Method     void Discover()
Dispose                   Method     void Dispose(), void IDisposable.Dispose()
Divide                    Method     int Divide(int intA, int intB)
DivideAsync               Method     void DivideAsync(int intA, int intB), void DivideAsync(int
EndAdd                    Method     int EndAdd(System.IAsyncResult asyncResult)
EndDivide                 Method     int EndDivide(System.IAsyncResult asyncResult)
EndMultiply               Method     int EndMultiply(System.IAsyncResult asyncResult)
EndSubtract               Method     int EndSubtract(System.IAsyncResult asyncResult)
Equals                    Method     bool Equals(System.Object obj)
GetHashCode               Method     int GetHashCode()
GetLifetimeService        Method     System.Object GetLifetimeService()
GetType                   Method     type GetType()
InitializeLifetimeService Method     System.Object InitializeLifetimeService()
Multiply                  Method     int Multiply(int intA, int intB)
MultiplyAsync             Method     void MultiplyAsync(int intA, int intB), void MultiplyAsync(
Subtract                  Method     int Subtract(int intA, int intB)
SubtractAsync             Method     void SubtractAsync(int intA, int intB), void SubtractAsync(
ToString                  Method     string ToString()

In questo esempio viene utilizzato il Get-Member cmdlet per visualizzare i metodi dell'oggetto proxy del servizio Web nella $calc variabile . Questi metodi vengono 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> $calc.Multiply(6,7)
42

In questo esempio viene usato il proxy del servizio Web archiviato nella $calc variabile . Il comando usa il metodo Multiply del proxy.

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).

Tipo:String
Alias:FileName, FN
Posizione:1
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 Get-Credential cmdlet. Se si digita un nome utente, questo cmdlet richiede una password.

Tipo:PSCredential
Alias:Cred
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 da poter accedere a più servizi Web con lo stesso nome.

Tipo:String
Alias:NS
Posizione:2
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Uri

Specifica l'URI del servizio Web. Immettere un URI o il percorso e il nome file di un file contenente una descrizione del servizio.

L'URI deve restituire una .asmx pagina o 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 http://www.contoso.com/MyWebService.asmx?WSDL.

Tipo:Uri
Alias:WL, WSDL, Path
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 .

Tipo:SwitchParameter
Alias:UDC
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.