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