共用方式為


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 和 NamespaceClass 參數,以指定物件的命名空間和類別。

範例 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 服務。