Compartir a través de


New-WebServiceProxy

Crea un objeto proxy de servicio web que le permite usar y administrar el servicio web en PowerShell.

Sintaxis

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

El New-WebServiceProxy cmdlet le permite usar un servicio web en PowerShell. El cmdlet se conecta a un servicio web y crea un objeto proxy de servicio web en PowerShell. Este objeto proxy se puede usar para administrar el servicio Web.

Un servicio web es un programa basado en XML que intercambia datos a través de una red, especialmente a través de Internet. Microsoft .NET Framework proporciona objetos proxy de servicio Web que representan el servicio Web como un objeto de .NET Framework.

Ejemplos

Ejemplo 1: Creación de un proxy para un servicio web

En este ejemplo se crea un proxy de .NET Framework del servicio web calculator en Windows PowerShell.

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

Ejemplo 2: Crear un proxy para un servicio web y especificar el espacio de nombres y la clase

En este ejemplo se usa el New-WebServiceProxy cmdlet para crear un proxy de .NET Framework del servicio web calculator.

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

El comando usa el parámetro URI para especificar el URI y los parámetros Namespace y Class para especificar el espacio de nombres y la clase del objeto.

Ejemplo 3: Mostrar métodos de un proxy de servicio 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()

En este ejemplo se usa el Get-Member cmdlet para mostrar los métodos del objeto proxy de servicio web en la $calc variable . Usamos estos métodos en el ejemplo siguiente.

Observe que typeName del objeto proxy, WebServiceProxy, refleja el espacio de nombres y los nombres de clase especificados en el ejemplo anterior.

Ejemplo 4: Uso de un proxy de servicio web

PS> $calc.Multiply(6,7)
42

En este ejemplo se usa el proxy de servicio web almacenado en la $calc variable . El comando usa el método Multiply del proxy.

Parámetros

-Class

Especifica un nombre para la clase de proxy que el cmdlet crea para el servicio Web. El valor de este parámetro se usa junto con el parámetro Namespace para proporcionar un nombre completo para la clase . El valor predeterminado se genera a partir del identificador uniforme de recursos (URI).

Tipo:String
Alias:FileName, FN
Posición:1
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Credential

Especifica una cuenta de usuario con permiso para realizar esta acción. El valor predeterminado es el usuario actual. Se trata de una alternativa al uso del parámetro UseDefaultCredential .

Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto PSCredential , como uno generado por el Get-Credential cmdlet. Si escribe un nombre de usuario, este cmdlet le pedirá una contraseña.

Tipo:PSCredential
Alias:Cred
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Namespace

Especifica un espacio de nombres para la nueva clase.

El valor de este parámetro se usa junto con el valor del parámetro Class para generar un nombre completo para la clase. El valor predeterminado es Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes más un tipo que se genera a partir del URI.

Puede establecer el valor del parámetro Namespace para que pueda acceder a varios servicios web que tengan el mismo nombre.

Tipo:String
Alias:NS
Posición:2
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Uri

Especifica el URI del servicio Web. Escriba un URI o la ruta de acceso y el nombre de archivo de un archivo que contenga una descripción del servicio.

El URI debe devolver una .asmx página o a una página que devuelva una descripción del servicio. Para devolver una descripción del servicio de un servicio web que se creó mediante ASP.NET, anexe "? WSDL" a la dirección URL del servicio web (por ejemplo, http://www.contoso.com/MyWebService.asmx?WSDL).

Tipo:Uri
Alias:WL, WSDL, Path
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-UseDefaultCredential

Indica que este cmdlet usa la credencial predeterminada. Este cmdlet establece la propiedad UseDefaultCredential en el objeto proxy resultante en True. Se trata de una alternativa al uso del parámetro Credential .

Tipo:SwitchParameter
Alias:UDC
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

No se puede canalizar la entrada a este cmdlet.

Salidas

A Web service proxy object

Este cmdlet devuelve un objeto proxy de servicio web. El espacio de nombres y la clase del objeto vienen determinados por los parámetros del comando. El valor predeterminado se genera a partir del URI de entrada.

Notas

New-WebServiceProxy usa la clase System.Net.WebClient para cargar el servicio web especificado.