Compartilhar via


New-WebServiceProxy

Cria um objeto proxy de serviço Web que permite que você use e gerencie o serviço Web no Windows PowerShell.

Sintaxe

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>]

Description

O cmdlet New-WebServiceProxy permite que você use um serviço Web no Windows PowerShell. O cmdlet se conecta a um serviço Web e cria um objeto proxy de serviço Web no Windows PowerShell. Você pode usar o objeto proxy para gerenciar o serviço Web.

Um serviço Web é um programa baseado em XML que troca dados por uma rede, especialmente pela Internet. O Microsoft .NET Framework fornece objetos proxy de serviço Web que representam o serviço Web como um objeto .NET Framework.

Exemplos

Exemplo 1: criar um proxy para um serviço Web

PS C:\> $zip = New-WebServiceProxy -Uri "http://www.webservicex.net/uszip.asmx?WSDL"

Esse comando cria um proxy do .NET Framework do serviço Web Zip dos EUA no Windows PowerShell.

Exemplo 2: criar um proxy para um serviço Web e especificar namespace e classe

PS C:\> $URI = "http://www.webservicex.net/uszip.asmx?WSDL"
PS C:\> $zip = New-WebServiceProxy -Uri $URI -Namespace "WebServiceProxy" -Class "USZip"

Esse comando usa o cmdlet New-WebServiceProxy para criar um proxy do .NET Framework do serviço Web Zip dos EUA.

O primeiro comando armazena o URI do serviço Web na variável $URI.

O segundo comando cria o proxy de serviço Web. O comando usa o parâmetro Uri para especificar o URI e os parâmetros de Namespace e Class para especificar o namespace e a classe do objeto.

Exemplo 3: exibir métodos de um proxy de serviço 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

Esse comando usa o cmdlet Get-Member para exibir os métodos do objeto proxy do serviço Web na variável $zip. Usaremos esses métodos no exemplo a seguir.

Observe que o TypeName do objeto proxy, WebServiceProxy, reflete o namespace e os nomes de classe especificados no exemplo anterior.

Exemplo 4: Usar um proxy de serviço Web

PS C:\> $zip.GetInfoByZip(20500).table
CITY      : Washington
STATE     : DC
ZIP       : 20500
AREA_CODE : 202
TIME_ZONE : E

Esse comando usa o proxy de serviço Web armazenado na variável $zip. O comando usa o método GetInfoByZip do proxy e sua propriedade Table.

Parâmetros

-Class

Especifica um nome para a classe proxy que o cmdlet cria para o serviço Web. O valor desse parâmetro é usado junto com o parâmetro Namespace para fornecer um nome totalmente qualificado para a classe. O valor padrão é gerado a partir do URI (Uniform Resource Identifier).

Tipo:String
Aliases:FileName, FN
Cargo:1
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Credential

Especifica uma conta de usuário que tem permissão para executar essa ação. O padrão é o usuário atual. Essa é uma alternativa ao uso do parâmetro UseDefaultCredential .

Digite um nome de usuário, como User01 ou Domain01\User01, ou insira um objeto PSCredential, como um gerado pelo cmdlet Get-Credential. Se você digitar um nome de usuário, esse cmdlet solicitará uma senha.

Tipo:PSCredential
Aliases:Cred
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Namespace

Especifica um namespace para a nova classe.

O valor desse parâmetro é usado junto com o valor do parâmetro Class para gerar um nome totalmente qualificado para a classe. O valor padrão é Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes mais um tipo gerado do URI.

Você pode definir o valor do parâmetro Namespace para que possa acessar vários serviços Web com o mesmo nome.

Tipo:String
Aliases:NS
Cargo:2
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Uri

Especifica o URI do serviço Web. Insira um URI ou o caminho e o nome do arquivo de um arquivo que contém uma descrição de serviço.

O URI deve se referir a uma página .asmx ou a uma página que retorna uma descrição de serviço. Para retornar uma descrição de serviço de um serviço Web que foi criado usando ASP.NET, acrescente "? WSDL" para a URL do serviço Web (por exemplo, https://www.contoso.com/MyWebService.asmx?WSDL).

Tipo:Uri
Aliases:WL, WSDL, Path
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-UseDefaultCredential

Indica que esse cmdlet usa a credencial padrão. Esse cmdlet define a propriedade UseDefaultCredential no objeto proxy resultante como True. Essa é uma alternativa ao uso do parâmetro credencial.

Tipo:SwitchParameter
Aliases:UDC
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Não é possível redirecionar a entrada para este cmdlet.

Saídas

A Web service proxy object

Esse cmdlet retorna um objeto proxy de serviço Web. O namespace e a classe do objeto são determinados pelos parâmetros do comando. O padrão é gerado a partir do URI de entrada.

Observações

  • New-WebServiceProxy usa a classe System.Net.WebClient para carregar o serviço Web especificado.