New-WebServiceProxy
创建一个 Web 服务代理对象,用于在 PowerShell 中使用和管理 Web 服务。
语法
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>]
说明
New-WebServiceProxy
cmdlet 允许在 PowerShell 中使用 Web 服务。 该 cmdlet 连接到 Web 服务,并在 PowerShell 中创建 Web 服务代理对象。 你可以使用代理对象管理 Web 服务。
Web 服务是一种基于 XML 的程序,用于在网络(特别是 Internet)上交换数据。 Microsoft .NET Framework 提供了将 Web 服务表示为 .NET Framework 对象的 Web 服务代理对象。
示例
示例 1:为 Web 服务创建代理
此示例在 Windows PowerShell 中创建计算器 Web 服务的 .NET Framework 代理。
$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"
示例 2:为 Web 服务创建代理并指定命名空间和类
此示例使用 New-WebServiceProxy
cmdlet 创建计算器 Web 服务的 .NET Framework 代理。
$URI = "http://www.dneonline.com/calculator.asmx?wsdl"
$calc = New-WebServiceProxy -Uri $URI -Namespace "WSProxy" -Class "Calculator"
该命令使用 Uri 参数指定该 URI,并使用 Namespace 参数和 Class 参数指定该对象的命名空间和类。
示例 3:显示 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()
此示例使用 Get-Member
cmdlet 显示 $calc
变量中 Web 服务代理对象的方法。 在下面的示例中会用到这些方法。
请注意,代理对象 WebServiceProxy 的 TypeName 反映了上一示例中所指定的命名空间和类名。
示例 4:使用 Web 服务代理
PS> $calc.Multiply(6,7)
42
此示例使用存储在 $calc
变量中的 Web 服务代理。 该命令使用代理的 Multiply 方法。
参数
-Class
指定该 cmdlet 为 Web 服务创建的代理类的名称。 此参数的值与 Namespace 参数的值一起使用时,可提供该类的完全限定名称。 默认值是根据统一资源标识符 (URI) 生成的。
类型: | String |
别名: | FileName, FN |
Position: | 1 |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Credential
指定有权执行此操作的用户帐户。 默认为当前用户。 这是使用 UseDefaultCredential 参数的替代方法。
键入用户名,如 User01 或 Domain01\User01,或输入 PSCredential 对象,例如由 Get-Credential
cmdlet 生成的对象。 键入用户名时,此 cmdlet 会提示输入密码。
类型: | PSCredential |
别名: | Cred |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Namespace
指定新类的命名空间。
此参数的值与 Class 参数的值一起使用时,可生成该类的完全限定名称。 默认值为 Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes 和从 URI 生成的类型。
你可以设置 Namespace 参数的值,以便可访问多个同名的 Web 服务。
类型: | String |
别名: | NS |
Position: | 2 |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Uri
指定 Web 服务的 URI。 请输入 URI 或包含服务说明的文件的路径和文件名。
该 URI 必须返回 .asmx
页或返回服务说明的页面。 要返回使用 ASP.NET 创建的 Web 服务的服务说明,请将“?WSDL”追加到 Web 服务的 URL(例如 http://www.contoso.com/MyWebService.asmx?WSDL
)。
类型: | Uri |
别名: | WL, WSDL, Path |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-UseDefaultCredential
指示此 cmdlet 使用默认凭据。 此 cmdlet 将生成的代理对象中的 UseDefaultCredential 属性设置为 True。 这是使用 Credential 参数的替代方法。
类型: | SwitchParameter |
别名: | UDC |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
None
不能通过管道将输入传递给此 cmdlet。
输出
A Web service proxy object
此 cmdlet 返回 Web 服务代理对象。 该对象的命名空间和类由该命令的参数确定。 默认值是从输入 URI 生成的。
备注
New-WebServiceProxy
使用 System.Net.WebClient 类来加载指定的 Web 服务。