Windows Phoneアプリケーション開発入門

第28回 WebServiceを利用してみよう!(1)

この記事を読むのに必要な時間:およそ 2.5 分

はじめに

マイクロソフト社が,Microsoft Translatorと呼ばれる翻訳サービスを提供しているのをご存知でしょうか?

Microsoft Translatorは,翻訳機能や,入力したテキストを異なる言語にて読ませることができます。異なる言語グループ同士の人々が言葉や音声を使ってコミュニケーションを取るのをサポートしてくれます。

例えば,Twitterクライアントに取り入れると面白そうです。Twitterは世界中で使われているウェブサービスですので,日本語よりも圧倒的に外国語のほうが多いです。異なる言語の方のツイートを自分の母国語に翻訳した上でタイムラインに表示できれば,言語を意識することなくコミュニケーションが図れるクライアントが開発できそうです。

なお,Microsoft Translator APIは現在バージョン2ですが,新しいバージョンがリリースされる時には新旧2つのバージョンが90日間ホスティングされます。ですのでアプリケーションやウェブサービスでTranslator APIを使用している場合,90日の間で移行を完了させる必要があります。

新しいバージョンの公開情報や,旧バージョンのAPIのサポート打ち切りのスケジュールなどは,以下のフォーラムにて発表されます。一度目を通しておくと有益な情報が得られるかもしれません。

このTranslator APIは,AJAX ServiceHTTP ServiceSOAP Serviceの3種類のサービスで提供されています。Windows Phone 7アプリケーション開発でもっとも相性がよいと思われるのは,Visual Studio 2010のサービス参照機能が使用できるSOAP Serviceでしょう。

さて,早速Windows Phone 7アプリケーション上からMicrosoft Translator APIを使ってみましょう。

SOAP Serviceをサービス参照する

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のサービスURLhttp://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サービスが登録されてしまった場合は,追加と同じ要領でサービス参照の削除を行うことが可能です。Solution Explorerで削除したいサービスを右クリックして,⁠delete」をクリックします。

画像

プロジェクトから参照の追加を行ったサービスが削除されます。

著者プロフィール

和田健司(わだけんじ)

1982年10月12日生まれ。大阪で働くプログラマ。Microsoft MVP for Device Application Development(Jul 2010 - Jun 2011)。Windows Mobileに傾倒し今に至る。Windows Mobile向けのTipsを書いています。iPhoneアプリ開発を始めました。嫌いな食べ物はカレー。

URL: http://ch3cooh.jp/
Blog: http://d.hatena.ne.jp/ch3cooh393/

コメント

コメントの記入