WSDL ファイルのロード

.NET Explorer には Load File Wizard があり、そのガイドに従って必要な手順を実行することで、WSDL ファイルをロードし、Web サービス メソッドを起動します。 .NET Explorer でこのウィザードをアクティブにするには、ツールバーの Start Here をクリックします。

ブラウザのアドレス バーを使用して、.NET Remoting または他の .NET クラスが含まれる WSDL ファイルまたは .NET アセンブリをロードすることもできます。 WSDL ファイルへの URL またはパスを指定して Load をクリックします。

Microsoft .NET Framework は、WSDL ファイルをロードし、WSDL ファイルに定義されている Web サービスのクライアント プロキシを生成するクラスを提供します。 .NET Explorer はこの機能を使用して Web サービス プロキシ用の C# または VB.NET コードを生成し、このコードを一時 .NET アセンブリにコンパイルします。このアセンブリは、 Web Service Proxies として、 .NET Explorer > Loaded Components > References に表示されます。

.NET Explorer は、Microsoft .NET Framework を使用してプロキシを生成するため、.NET ExplorerMicrosoft .NET Framework の欠点と制限を共有します。 プロキシを生成する際の最も重要な問題は、他のベンダーによって作成される SOAP スタック実装の一部が、W3C 規格に準拠していないことです。 この結果、WSDL ファイルをロードしようとしたときに問題が発生することがあります。 この問題は、WSDL ファイルを手動で編集することにより回避できます。これでファイルが Microsoft .NET Framework によって認識されるようになります。 WSDL ファイルを編集するには、WSDL に習熟している必要があります。 詳細については、http://www.w3.org を参照してください。

.NET Explorer には System.Web.Services.Protocols.SoapHttpClientProtocol から派生した Web サービス プロキシ ファイルが Web Service Proxies の下の References メニューに表示されます。 通常は、C# または VB.NET コードを記述する場合、プロキシ クラスのインスタンスとプロキシ上の呼び出しメソッドをインスタンス化する必要があります。 .NET Explorer は、プロキシ クラスのインスタンスを自動的にインスタンス化することにより、この必要がなくなります。 コンストラクタを呼び出して、プロキシ クラスのインスタンスを作成することはできません。 .NET Explorer は、Web サービスを、静的メソッドを提供する静的オブジェクトのように取扱います。

Web サービスのメソッドが、複合オブジェクトをパラメータとして選択すると、これらのパラメータのクラスは WSDL ファイルで定義され、.NET Explorer にロードされます。 このようなクラスは Web サービスのプロキシ クラスではありません。 Web サービスのプロキシ クラスはメンバを持つシンプルクラスで、 Class メニュー ツリーの Other Classes ツリー ノードに列挙されます。

メニュー ツリーのプロキシ クラスをダブルクリックし、 Input Data Properties ペインで接続ウィザードを開いて、複数の接続関係プロパティを設定することができます。 これらのプロパティは、内部のプロキシ インスタンスの対応するプロパティに設定されます。

プロジェクトを .NET プロジェクトとして Visual Studio .NET または直接 Silk Performer にエクスポートする際に、Web サービス プロキシの基本クラスが SilkPerformer.SPSoapHttpClientProtocol で置き換えられます。 この置き換えの理由は、基本クラスを交換すると、Silk Performer .NET Framework が Silk Performer Web エンジンからルーティングされる Web サービス呼び出しについてより詳細なタイマを生成するためです。 この動作を実行しない場合、プロジェクトを Visual Studio .NET にエクスポートし、基本クラスを手動で元に戻すか、Silk Performer メニューから Web Service ダイアログ ボックスを使用し、プロキシ クラスのルーティング用オプションを選択解除します。

これで、テストする Web サービスの WSDL ファイルをロードするか、リスト ボックスから WSDL ファイルを選択できるようになりました。