New-WebServiceProxy
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
コマンドレットを使用すると、PowerShell で Web サービスを使用できます。 コマンドレットは Web サービスに接続し、PowerShell で Web サービス プロキシ オブジェクトを作成します。 プロキシ オブジェクトを使用して Web サービスを管理できます。
Web サービスは、特にインターネット経由で、ネットワーク経由でデータを交換する XML ベースのプログラムです。 Microsoft .NET Framework には Web サービス プロキシ オブジェクトが用意されており、Web サービスを .NET Framework オブジェクトとして表します。
例
例 1: Web サービスのプロキシを作成する
この例では、Windows PowerShell で電卓 Web サービスの .NET Framework プロキシを作成します。
$calc = New-WebServiceProxy -Uri "http://www.dneonline.com/calculator.asmx?wsdl"
例 2: Web サービスのプロキシを作成し、名前空間とクラスを指定する
この例では、 New-WebServiceProxy
コマンドレットを使用して、電卓 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
コマンドレットを使用して、Web サービス プロキシ オブジェクトのメソッドを $calc
変数に表示します。 次の例では、これらのメソッドを使用します。
プロキシ オブジェクト WebServiceProxy の TypeName には、前の例で指定した名前空間とクラス名が反映されていることに注意してください。
例 4: Web サービス プロキシを使用する
PS> $calc.Multiply(6,7)
42
この例では、 $calc
変数に格納されている Web サービス プロキシを使用します。 このコマンドは、プロキシの Multiply メソッドを使用します。
パラメーター
-Class
コマンドレットが Web サービス用に作成したプロキシ クラスの名前を指定します。 このパラメーターの値は、クラスの完全修飾名を指定するために、 Namespace パラメーターと共に使用されます。 既定値は、Uniform Resource Identifier (URI) から生成されます。
型: | String |
Aliases: | FileName, FN |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。 これは、 UseDefaultCredential パラメーターを使用する代わりに使用します。
User01 や Domain01\User01 などのユーザー名を入力するか、 PSCredential オブジェクト ( Get-Credential
コマンドレットによって生成されたものなど) を入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。
型: | PSCredential |
Aliases: | Cred |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Namespace
新しいクラスの名前空間を指定します。
このパラメーターの値は、クラスの完全修飾名を生成するために、 Class パラメーターの値と共に使用されます。 既定値は Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes と URI から生成される型です。
同じ名前の複数の Web サービスにアクセスできるように、 Namespace パラメーターの値を設定できます。
型: | String |
Aliases: | NS |
配置: | 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 |
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 サービスを読み込みます。
関連リンク
PowerShell