New-WebServiceProxy
建立 Web 服務 Proxy 物件,可讓您在 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>]
Description
Cmdlet New-WebServiceProxy
可讓您在 PowerShell 中使用 Web 服務。 Cmdlet 會連線到 Web 服務,並在 PowerShell 中建立 Web 服務 Proxy 物件。 您可以使用 Proxy 物件來管理 Web 服務。
Web 服務是以 XML 為基礎的程式,可透過網路交換數據,特別是透過因特網交換數據。 Microsoft .NET Framework 提供 Web 服務 Proxy 物件,以 .NET Framework 物件表示 Web 服務。
範例
範例 1:建立 Web 服務的 Proxy
此範例會在 Windows PowerShell 中建立計算機 Web 服務的 .NET Framework Proxy。
$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"
範例 2:建立 Web 服務的 Proxy,並指定命名空間和類別
此範例會 New-WebServiceProxy
使用 Cmdlet 來建立計算機 Web 服務的 .NET Framework Proxy。
$URI = "http://www.dneonline.com/calculator.asmx?wsdl"
$calc = New-WebServiceProxy -Uri $URI -Namespace "WSProxy" -Class "Calculator"
命令會 使用 Uri 參數來指定 URI 和 Namespace 和 Class 參數,以指定 物件的命名空間和類別。
範例 3:顯示 Web 服務 Proxy 的方法
$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 服務 Proxy 物件的方法。 我們會在下列範例中使用這些方法。
請注意, Proxy 物件的 TypeName WebServiceProxy 會反映上一個範例中指定的命名空間和類別名稱。
範例 4:使用 Web 服務 Proxy
PS> $calc.Multiply(6,7)
42
此範例會使用儲存在變數中的 $calc
Web 服務 Proxy。 命令會使用 Proxy 的 Multiply 方法。
參數
-Class
指定 Cmdlet 為 Web 服務建立的 Proxy 類別名稱。 此參數的值會與 Namespace 參數一起使用,以提供 類別的完整名稱。 預設值是從統一資源標識碼 (URI) 產生。
類型: | String |
別名: | FileName, FN |
Position: | 1 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設為目前使用者。 這是使用 UseDefaultCredential 參數的替代方案。
輸入用戶名稱,例如User01或Domain01\User01,或輸入 PSCredential 物件,例如 Cmdlet 所產生的 Get-Credential
物件。 如果您輸入使用者名稱,此 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 會將 產生的 Proxy 物件中的 UseDefaultCredential 屬性設定為 True。 這是使用 Credential 參數的替代方案。
類型: | SwitchParameter |
別名: | UDC |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
您無法使用管線將輸入傳送至此 Cmdlet。
輸出
A Web service proxy object
此 Cmdlet 會傳回 Web 服務 Proxy 物件。 物件的命名空間和類別是由 命令的參數所決定。 預設值是從輸入 URI 產生。
備註
New-WebServiceProxy
會使用 System.Net.WebClient 類別載入指定的 Web 服務。