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

この例では、変数に格納されている Web サービス プロキシを $calc 使用します。 このコマンドでは、プロキシの Multiply メソッドを使用します。

パラメーター

-Class

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

Type:String
Aliases:FileName, FN
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

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

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

Type:PSCredential
Aliases:Cred
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

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

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

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

Type:String
Aliases:NS
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Uri

Web サービスの URI を指定します。 サービスの説明を含むファイルの URI またはパスとファイル名を入力します。

URI は、サービスの説明を .asmx 返すページまたはページを返す必要があります。 ASP.NET を使用して作成された Web サービスのサービスの説明を返すには、"?WSDL" を Web サービスの URL に変換します (例: http://www.contoso.com/MyWebService.asmx?WSDL

Type:Uri
Aliases:WL, WSDL, Path
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredential

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

Type:SwitchParameter
Aliases:UDC
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

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

出力

A Web service proxy object

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

メモ

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