ライブラリを追加する際には、dllアセンブリを指定して、参照の追加を行います。Visual Studioの強みとしてはWebServiceをクラスとして使用する事が出来ます。
プロジェクトにWeb参照を追加する
SOAP ServiceをVisual Studio 2010にてサービス参照を行い、コード上から呼び出しを行うまでの準備していきましょう。例として、Microsoft Translator APIのサービスURLを使用したいと思います。
「New Project...」をクリックして新規プロジェクトダイアログを表示します。沢山Windows Phone 7向けのテンプレートが並んでいますが、今回は「Windows Phone Application」を選択します。プロジェクト名称とソリューション名称は「TranslatorTest」と入力しておきます。
Solution Explorerで、追加したいプロジェクト(ここではTranslatorTest)の「References」を右クリックして、「Add Service Reference」をクリックします。日本語版のVisual Studio 2010をお使いの方は、「サービス参照の追加」をクリックします。
サービス参照の追加ダイアログが表示されます。Address欄に使用するSOAP ServiceのサービスURL「http://api.microsofttranslator.com/V2/Soap.svc」を入力します。入力が終わったら「Go」をクリックします。
サービスのチェックやどんなサービスを提供しているかを読み込みを開始します。少し経つとSerives欄に使用可能なサービスの一覧が表示されます。Web Serviceがプロジェクトで使用出来るのかと、提供されているコードが信頼出来るかどうかを確認します。
Translator APIにて主に使用するのは、SpeakメソッドとTanslateメソッドです。Serives欄からLanguageServiceを選択して、Operations欄にSpeakメソッドとTanslateメソッドが提供されているのを確認します。
問題なければ次に進みます。Namespace欄にサービス参照の名前空間の名称を入力しましょう。追加するTranslator APIをコード上からアクセスするのに使用します。ここでは「Translator」と入力して、OKボタンをクリックしてください。
プロジェクト下にService Referenceフォルダが無い場合は作成され、Namespace欄で入力した名前で、SOAP Serviceで定義されているAPIを扱う為のクライアントクラスが生成されます。
オブジェクトブラウザにて、LanguageServiceClientクラスが生成されているかどうかの確認を行います。追加されていれば問題ありません。これでコード上でTranslator APIを使用する準備が整いました。
Web参照を更新する
ソリューション エクスプローラーで、サービス参照を右クリックし、[サービス参照の更新] をクリックします。 参照が元の場所から更新されている間、プログレス ダイアログ ボックスが表示され、メタデータの変更を反映してサービス クライアントが再生成されます。
Web参照を削除する
もし操作に誤って意図しないWebサービスが登録されてしまった場合は、追加と同じ要領でサービス参照の削除を行うことが可能です。Solution Explorerで削除したいサービスを右クリックして、「delete」をクリックします。
プロジェクトから参照の追加を行ったサービスが削除されます。