VS2010Expressをインストールしてみる
VS2010をインストールします。
といっても有償版は今手に入る環境にないのでExpressを入れることに。
Expressのダウンロードは
http://www.microsoft.com/japan/msdn/vstudio/2010/product/express/offline.aspx
から可能です。
でもなにやらDVDに焼いたりしないとダメみたいで面倒・・・。
私はC#バージョンを入れることにしました。
DVDに焼いてインストールが完了したところで今日は時間切れ・・・・。
同一開発環境下でのWebServiceとAndroidエミュレータの関係
proxyのせいで開発環境下のIIS上に立てたWebServiceが見れない・・・と思っていましたが違ってました(;^ω^)
作成したIISの仮想ディレクトリは
/Androidなので
参照するWebServiceへのurlを
「http://localhost/Android/testWebService.asmx」
としていましたが、これが×でした!
localhostにすると、Androidエミュレータでは
「エミュレータ上の」と解釈するようです。
いわれてみればそうですよね・・・(;´∀`)
そらlocalhostやめて直接127.0.0.1を書いてみてもだめなわけで・・。
なので、正しいurlは
「http://(開発環境PCのIP)/Android/testWebService.asmx」
になります。
開発環境のIPはコマンドプロンプト上でipconfigコマンド投げて調べてください。
試してみたところ、ちゃんとエミュレータから参照することができました。
WebServiceがHTTP GETできるようにする
複雑な条件を投げなければならなくなったらSOAPなんでしょうが、とりあえずGETでリクエストを投げてレスポンスを貰うWebServiceを作成。
テストなのでC#でプロジェクトとしてWebServiceを選択するとデフォルトで作成されるメソッド「HelloWorld」をちょっとだけ変更して、引数を取るようにしました。
<WebMethod()> public string HelloWorld(string str) { string res = "Hello World " + str return res }
しかし.netのWebServiceはデフォルトではHTTP POSTのリクエストしか受け取れないです。
HTTP GETも使えるようにするにはWeb.configに以下の記述を追加します。
<configuration> <system.web> <webServices> <protocols> <add name="HttpGet"/> </protocols> </webServices> </system.web> </configuration>
SOAPを使いたい場合も同様に追加すればよいようです。
そしてAndroid側のulrは
「http://localhost/Android/testWebService.asmx/HelloWorld?str=ほげ」
としたところ
「HelloWorld ほげ」と無事レスポンスが取れました(゚∀゚)
まずは第一段階クリアというところでしょうか。