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 コマンドレットでは、Web サービスを Windows PowerShell で使用できます。このコマンドレットは Web サービスに接続し、Web サービス プロキシ オブジェクトを Windows PowerShell に作成します。プロキシ オブジェクトを使用して Web サービスを管理できます。
Web サービスは XML ベースのプログラムで、ネットワーク、特にインターネット上でデータをやり取りします。Microsoft .NET Framework には Web サービス プロキシ オブジェクトが用意されており、Web サービスを .NET Framework オブジェクトとして表します。
パラメーター
-Class <string>
コマンドレットが Web サービス用に作成したプロキシ クラスの名前を指定します。このパラメーターの値を Namespace パラメーターと併用すると、クラスの完全修飾名が生成されます。既定値は URI から生成されます。
必須 |
false |
位置 |
2 |
既定値 |
Generated from the URI |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Credential <PSCredential>
この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既定値は現在のユーザーです。これは、UseDefaultCredential パラメーターを使用した方法に代わる方法です。
"User01" や "Domain01\User01" などユーザー名を入力します。または、Get-Credential コマンドレットで生成されるような PSCredential オブジェクトを入力します。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されます。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Namespace <string>
新しいクラスの名前空間を指定します。
このパラメーターの値を Class パラメーターの値と併用すると、クラスの完全修飾名が生成されます。既定値は Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes に URI から生成された型を加えたものです。
Namespace パラメーターの値は、複数の Web サービスに同じ名前でアクセスできるように設定できます。
必須 |
false |
位置 |
3 |
既定値 |
Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-URI <Uri>
Web サービスの URI を指定します。URI またはサービスの説明が含まれているファイルのパスとファイル名を入力します。
URI は、.asmx ページまたはサービスの説明を返すページを参照する必要があります。ASP.NET を使用して作成した Web サービスのサービスの説明を返すには、Web サービスの URL に "?WSDL" を追加します。たとえば、https://www.contoso.com/MyWebService.asmx?WSDL とします。
必須 |
true |
位置 |
1 |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-UseDefaultCredential
プロキシ オブジェクトの UseDefaultCredential パラメーターを True に設定します。これは、Credential パラメーターを使用した方法に代わる方法です。
必須 |
false |
位置 |
named |
既定値 |
False |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
なし このコマンドレットはパイプラインから入力を取得しません。 |
出力 |
Web サービス プロキシ オブジェクト オブジェクトの名前空間とクラスはコマンドのパラメーターによって決定されます。既定値は入力 URI (Uniform Resource Identifier) から生成されます。 |
注
New-WebServiceProxy は System.Net.WebClient クラスを使用して、指定された Web サービスを読み込みます。
例 1
C:\PS>$zip = New-WebServiceProxy -uri http://www.webservicex.net/uszip.asmx?WSDL
説明
-----------
このコマンドは New-WebServiceProxy コマンドを使用して、US Zip Web サービスの .NET Framework プロキシを Windows PowerShell に作成します。
例 2
C:\PS>$URI = "http://www.webservicex.net/uszip.asmx?WSDL"
C:\PS> $zip = New-WebServiceProxy -uri $URI -namespace WebServiceProxy -class ZipClass
説明
-----------
このコマンドは、New-WebServiceProxy コマンドレットを使用して US Zip Web サービスの .NET Framework プロキシを作成します。
最初のコマンドは、Web サービスの URI を $URI 変数に保存します。
2 番目のコマンドは Web サービス プロキシを作成します。URI の指定には URI パラメーター、オブジェクトの名前空間とクラスの指定には Namespace パラメーターと Class パラメーターをそれぞれ使用します。
例 3
C:\PS>$zip | get-member -type 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 変数に表示します。これらのメソッドを次の例で使用します。
プロキシ オブジェクトの TypeName、WebServiceProxy には前の例で指定した名前空間とクラスが反映されていることに注意してください。
例 4
C:\PS>$zip.getinfobyzip(20500).table
CITY : Washington
STATE : DC
ZIP : 20500
AREA_CODE : 202
TIME_ZONE : E
説明
-----------
このコマンドは、Zip 変数に保存されている Web サービス プロキシを使用します。このコマンドは、プロキシの GetInfoByZip メソッドと Table プロパティを使用します。