Partilhar via


New-WebServiceProxy

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

Syntax

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 New-WebServiceProxy cmdlet 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 New-WebServiceProxy cmdlet 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 os parâmetros Namespace e 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 Get-Member cmdlet para exibir os métodos do objeto proxy do serviço Web na $calc variável. 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 $calc variável. 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).

Type:String
Aliases:FileName, FN
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Especifica uma conta de usuário que tem permissão para executar essa ação. A predefinição é o utilizador 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 Get-Credential gerado pelo cmdlet. Se você digitar um nome de usuário, esse cmdlet solicitará uma senha.

Type:PSCredential
Aliases:Cred
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 que é 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.

Type:String
Aliases:NS
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .asmx página 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).

Type:Uri
Aliases:WL, WSDL, Path
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredential

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

Type:SwitchParameter
Aliases:UDC
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.