Partilhar via


New-WebServiceProxy

Cria um objeto proxy de serviço Web que permite usar e gerenciar o serviço Web no 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 usar um serviço Web no PowerShell. O cmdlet se conecta a um serviço Web e cria um objeto proxy de serviço Web no 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

Este exemplo cria um proxy do .NET Framework do serviço Web calculadora no Windows PowerShell.

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

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

Este exemplo usa o cmdlet New-WebServiceProxy para criar um proxy do .NET Framework do serviço Web da calculadora.

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

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

$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()

Este exemplo usa o cmdlet Get-Member para exibir os métodos do objeto proxy do serviço Web na variável $calc. Usamos 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> $calc.Multiply(6,7)
42

Este exemplo usa o proxy de serviço Web armazenado na variável $calc. O comando usa o método Multiply do proxy.

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
Position:1
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Tipo:PSCredential
Aliases:Cred
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Tipo:String
Aliases:NS
Position:2
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Uri

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

O URI deve retornar uma página .asmx ou para 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, http://www.contoso.com/MyWebService.asmx?WSDL).

Tipo:Uri
Aliases:WL, WSDL, Path
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Tipo:SwitchParameter
Aliases:UDC
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

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.