次の方法で共有


New-WebServiceProxy

Windows PowerShell で Web サービスを使用および管理できるようにする 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 コマンドレットを使用すると、Windows PowerShell で Web サービスを使用できます。 このコマンドレットは、Web サービスに接続し、Windows PowerShell で Web サービス プロキシ オブジェクトを作成します。 プロキシ オブジェクトを使用して、Web サービスを管理できます。

Web サービスは、特にインターネット経由で、ネットワーク経由でデータを交換する XML ベースのプログラムです。 Microsoft .NET Framework は、Web サービスを .NET Framework オブジェクトとして表す Web サービス プロキシ オブジェクトを提供します。

例 1: Web サービスのプロキシを作成する

PS C:\> $zip = New-WebServiceProxy -Uri "http://www.webservicex.net/uszip.asmx?WSDL"

このコマンドは、Windows PowerShell で US Zip Web サービスの .NET Framework プロキシを作成します。

例 2: Web サービスのプロキシを作成し、名前空間とクラスを指定する

PS C:\> $URI = "http://www.webservicex.net/uszip.asmx?WSDL"
PS C:\> $zip = New-WebServiceProxy -Uri $URI -Namespace "WebServiceProxy" -Class "USZip"

このコマンドでは、 New-WebServiceProxy コマンドレットを使用して、US Zip Web サービスの .NET Framework プロキシを作成します。

最初のコマンドは、Web サービスの URI を $URI 変数に格納します。

2 番目のコマンドは、Web サービス プロキシを作成します。 このコマンドでは、Uri パラメーターを使用して URI と 名前空間の を指定し、クラス パラメーターを使用して、オブジェクトの名前空間とクラスを指定します。

例 3: Web サービス プロキシの表示メソッド

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 コマンドレットを使用して、Web サービス プロキシ オブジェクトのメソッドを $zip 変数に表示します。 次の例では、これらの方法を使用します。

プロキシ オブジェクト WebServiceProxy の TypeName には、前の例で指定した名前空間とクラス名が反映されていることに注意してください。

例 4: Web サービス プロキシを使用する

PS C:\> $zip.GetInfoByZip(20500).table
CITY      : Washington
STATE     : DC
ZIP       : 20500
AREA_CODE : 202
TIME_ZONE : E

このコマンドは、$zip 変数に格納されている Web サービス プロキシを使用します。 このコマンドは、プロキシの GetInfoByZip メソッドとその Table プロパティを使用します。

パラメーター

-Class

コマンドレットが Web サービス用に作成するプロキシ クラスの名前を指定します。 このパラメーターの値は、クラスの完全修飾名を指定するために、Namespace パラメーターと共に使用されます。 既定値は、Uniform Resource Identifier (URI) から生成されます。

型:String
Aliases:FileName, FN
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Credential

このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。 これは、UseDefaultCredential パラメーターを使用する代わりに使用します。

User01 や Domain01\User01 などのユーザー名を入力するか、Get-Credential コマンドレットによって生成されたオブジェクトなどの PSCredential オブジェクトを入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。

型:PSCredential
Aliases:Cred
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Namespace

新しいクラスの名前空間を指定します。

このパラメーターの値は、Class パラメーターの値と共に使用され、クラスの完全修飾名が生成されます。 既定値は、Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes と URI から生成される型 です。

Namespace パラメーターの値を設定して、同じ名前の複数の Web サービスにアクセスできるようにします。

型:String
Aliases:NS
配置: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
Aliases:WL, WSDL, Path
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-UseDefaultCredential

このコマンドレットが既定の資格情報を使用することを示します。 このコマンドレットは、結果のプロキシ オブジェクト UseDefaultCredential プロパティを True に設定します。 これは、Credential パラメーターを使用する代わりに使用します。

型:SwitchParameter
Aliases:UDC
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

このコマンドレットに入力をパイプすることはできません。

出力

A Web service proxy object

このコマンドレットは、Web サービス プロキシ オブジェクトを返します。 オブジェクトの名前空間とクラスは、コマンドのパラメーターによって決まります。 既定値は入力 URI から生成されます。

メモ

  • New-WebServiceProxy は、 System.Net.WebClient クラスを使用して、指定した Web サービスを読み込みます。