New-WebServiceProxy
建立 Web 服務 Proxy 物件,可讓您在 Windows 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
New-WebServiceProxy Cmdlet 可讓您在 Windows PowerShell 中使用 Web 服務。 Cmdlet 會連線到 Web 服務,並在 Windows PowerShell 中建立 Web 服務 Proxy 物件。 您可以使用 Proxy 物件來管理 Web 服務。
Web 服務是以 XML 為基礎的程式,可透過網路交換數據,特別是透過因特網交換數據。 Microsoft .NET Framework 提供 Web 服務 Proxy 物件,以 .NET Framework 物件表示 Web 服務。
範例
範例 1:建立 Web 服務的 Proxy
PS C:\> $zip = New-WebServiceProxy -Uri "http://www.webservicex.net/uszip.asmx?WSDL"
此命令會在 Windows PowerShell 中建立 US Zip Web 服務的 .NET Framework Proxy。
範例 2:建立 Web 服務的 Proxy,並指定命名空間和類別
PS C:\> $URI = "http://www.webservicex.net/uszip.asmx?WSDL"
PS C:\> $zip = New-WebServiceProxy -Uri $URI -Namespace "WebServiceProxy" -Class "USZip"
此命令會使用 New-WebServiceProxy Cmdlet 來建立美國 Zip Web 服務的 .NET Framework Proxy。
第一個命令會將 Web 服務的 URI 儲存在 $URI 變數中。
第二個命令會建立 Web 服務 Proxy。 此命令會使用 Uri 參數來指定 URI 和 Namespace 和 Class 參數,以指定物件的命名空間和類別。
範例 3:顯示 Web 服務 Proxy 的方法
PS C:\> $zip | Get-Member -MemberType method
TypeName: WebServiceProxy.USZip
Name MemberType Definition
---- ---------- ----------
Abort Method System.Void Abort(
BeginGetInfoByAreaCode Method System.IAsyncResul
BeginGetInfoByCity Method System.IAsyncResul
BeginGetInfoByState Method System.IAsyncResul
BeginGetInfoByZIP Method System.IAsyncResul
CreateObjRef Method System.Runtime.Rem
Discover Method System.Void Discov
Dispose Method System.Void Dispos
EndGetInfoByAreaCode Method System.Xml.XmlNode
EndGetInfoByCity Method System.Xml.XmlNode
EndGetInfoByState Method System.Xml.XmlNode
EndGetInfoByZIP Method System.Xml.XmlNode
Equals Method System.Boolean Equ
GetHashCode Method System.Int32 GetHa
GetInfoByAreaCode Method System.Xml.XmlNode
GetInfoByCity Method System.Xml.XmlNode
GetInfoByState Method System.Xml.XmlNode
GetInfoByZIP Method System.Xml.XmlNode
GetLifetimeService Method System.Object GetL
GetType Method System.Type GetTyp
InitializeLifetimeService Method System.Object Init
ToString Method System.String ToSt
此命令會使用 Get-Member Cmdlet,在 $zip 變數中顯示 Web 服務 Proxy 物件的方法。 我們將在下列範例中使用這些方法。
請注意,proxy 物件的 TypeName WebServiceProxy 會反映上一個範例中指定的命名空間和類別名稱。
範例 4:使用 Web 服務 Proxy
PS C:\> $zip.GetInfoByZip(20500).table
CITY : Washington
STATE : DC
ZIP : 20500
AREA_CODE : 202
TIME_ZONE : E
此命令會使用儲存在 $zip 變數中的 Web 服務 Proxy。 此命令會使用 proxy 及其 Table 屬性的 GetInfoByZip 方法。
參數
-Class
指定 Cmdlet 為 Web 服務建立的 Proxy 類別名稱。 此參數的值會與 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(例如,https://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 服務。