![]() |
||
連載世界のWebサービス ― 究極のWebサービスを求めて ―第11回 Windows XPでXML Webサービスへアクセス 田口景介 |
||
ご存じのとおり、Windows XPには.NET環境が収録されていないので、.NET Framework SDKを追加インストールしなければ、.NET対応アプリケーションを開発することはできない。しかし、Webサービス・クライアントだけならば、Windows XP標準の機能だけで十分作ることができる。しかも手軽に。Windows XPには、Microsoft SOAP Toolkit 2.0(以後MSSOAP)のクライアント部分が収録されているからだ。
MSSOAPといえば、本連載の第5回でも紹介したように、既存のCOMオブジェクトをラッピングして、Webサービスとして公開するなどの用途に利用する、Win32システム向けに用意されたSOAPツールキットである。ただし、Windows XPに付属するMSSOAPはサブセットであり、Webサービスを開発し、公開するために必要なサーバ・サイドのライブラリは付属していない。付属しているのは、クライアント・サイドのライブラリだけだ。つまり、Webサービスを呼び出すクライアント・アプリケーションの開発だけなら、Windows XPに付属するモジュールだけでも可能である。
WSHスクリプトでSOAPクライアントを作る
Windows XPに付属するSOAPクライアントモジュールは、COMオブジェクトとして提供されているため、COMに対応していれば、どんなプログラミング言語からでも利用できる。COM対応プログラミング言語といえばすぐにC++やVB(Visual Basic)などが思い出されるが、現在Windows上で用いられているほとんどのプログラミング言語はCOMに対応しているので、そこまで本格的な言語処理系を使わなくても、もっと簡単に利用する手段が用意されている。例えばWSH(Windows Scripting Host)を利用すれば、VBScriptやJScriptで記述したスクリプトでも、Webサービス・クライアントの開発が可能だ。
■WSH(Windows Scripting Host)
WSHスクリプトを解説する前に、WSHについて簡単に解説しておこう。
WSHとは、いってみればMS-DOSの時代から受け継がれているバッチ・システムの拡張版だが、バッチ・ファイルのように特定のバッチ言語に縛られてはいない。実際にスクリプトの実行を担当するスクリプト・エンジン、スクリプトの起動を担当するスクリプト・ホスト、それにライブラリがそれぞれ分離されているため、スクリプト・エンジンとしてインストールされたスクリプト言語を自由に選択して利用できる仕組みになっている。Windows XPには標準でVBScriptとJScript(JavaScriptにMicrosoft独自の拡張を施したスクリプト言語)がスクリプト言語として組み込まれているが、サードパーティから、例えばActiveState(http://www.activestate.com/)からPerlのスクリプト・エンジンを入手すれば、WSHスクリプトをPerlで記述できるようになる。このときスクリプト・エンジンとともにインストールされるライブラリは特定の言語に依存することになるが、それ以外のスクリプト・ホストやCOMオブジェクトとして提供されているライブラリは、いずれの言語でも同じようにアクセス可能だ。言語ごとに記述力の差はあるが、基本的にはどの言語を使っても同じようにスクリプトを開発できるのがWSHの利点の1つである。
WSHスクリプトのファイル名に、VBScriptならば「.vbs」、JScriptならば「.js」というようにスクリプト・エンジンごとに指定された拡張子を指定すれば、「.exe」や「.bat」のような実行ファイルと同じように扱われるようになる。つまりスクリプトを“soap.js”に保存したら、コマンドラインから“soap”と指定するだけで実行可能となる。ただしこの方法でスクリプトを起動すると、デフォルトのスクリプト・ホストによってスクリプトが実行されるため、場合によっては思わぬ結果となってしまう。Windows XPにはスクリプト・ホストとして「CScript.exe」と「WScript.exe」が登録されているが、初期状態ではWScript.exeがデフォルトに設定されている。両者の違いは、例えば、文字列を表示するメソッドを呼び出したとき、前者なら標準出力に出力されるのに対して、後者ならメッセージ・ボックス・ウィンドウに出力されるなどにある。つまりデフォルトでは文字列の出力はすべて1行ずつメッセージ・ウィンドウに対して行われるので、このまま大量に文字列を出力するスクリプトを実行すれとひどい目にあうことは間違いない。指定したスクリプト・ホストで実行したければ、「<CScript | WScript> <スクリプトファイル>」とスクリプト・ホストを明示して実行するか、「CScript //H:<CScript|WScript>」を実行してデフォルト・スクリプト・ホストを切り替えておけばよい。
| INDEX | ||
| [連載]世界のWebサービス―― 究極のWebサービスを求めて ―― | ||
| 第11回 Windows XPでXML Webサービスへアクセス | ||
| 1.WebサービスとSOAPクライアント | ||
| 2.WebページからXML Webサービスへアクセス | ||
| 「世界のWebサービス」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


