Partilhar via


New-WebServiceProxy

Cria um objeto proxy de serviço Web que permite usar e gerenciar o serviço Web no Windows PowerShell.

Sintaxe

NoCredentials (Predefinição)

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

Description

O cmdlet New-WebServiceProxy permite usar 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 através de uma rede, especialmente através da 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"

Este 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"

Este 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 do serviço Web. O comando usa o parâmetro Uri para especificar o URI e o Namespace e parâmetros 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

Este 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 os nomes de namespace e 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

Este comando usa o proxy de serviço Web armazenado na variável $zip. O comando usa o GetInfoByZip método 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).

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Nome do arquivo, FN

Conjuntos de parâmetros

(All)
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Credential

Especifica uma conta de usuário que tem permissão para executar essa ação. O padrão é o usuário atual. Esta é 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.

Propriedades dos parâmetros

Tipo:PSCredential
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cred

Conjuntos de parâmetros

Credential
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 a partir do URI.

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

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:NS

Conjuntos de parâmetros

(All)
Position:2
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Uri

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

O URI deve referir-se 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).

Propriedades dos parâmetros

Tipo:Uri
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:WL, WSDL, Caminho

Conjuntos de parâmetros

(All)
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-UseDefaultCredential

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:UDC

Conjuntos de parâmetros

UseDefaultCredential
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

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

Saídas

A Web service proxy object

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

Notas

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