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 cmdlet New-WebServiceProxy
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. Puede usar el objeto proxy 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 cmdlet New-WebServiceProxy
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 de para especificar el URI y el de espacio de nombres y parámetros 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 cmdlet Get-Member
para mostrar los métodos del objeto proxy de servicio web en la variable $calc
. Usamos estos métodos en el ejemplo siguiente.
Observe que el TypeName del objeto proxy, WebServiceProxy, refleja los nombres de clase y espacio de nombres 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 variable $calc
. El comando usa el método Multiplicar del proxy.
Parámetros
-Class
Especifica un nombre para la clase de proxy que crea el cmdlet 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 que tiene 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 de PSCredential, como uno generado por el cmdlet Get-Credential
. 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 página de .asmx
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. Los parámetros del comando determinan el espacio de nombres y la clase del objeto. 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.