ひがやすを技術ブログ

電通国際情報サービスのプログラマ

DefaultHTTPで楽々アクセス

FlashでHTTPServiceやWebService経由でサーバーにアクセスする場合、自分がダウンロードされたサイト以外にアクセスするときは、crossdomain.xmlを接続先においておく必要があります。
BlazeDSを使うと、BlazeDSがProxyになって、外部にアクセスしてくれるので、この制限を取り払うことができます。
ただし、アクセスするURLごとに、proxy-config.xmlに設定を書く必要があり、結構面倒なのも事実です。
そこで、役に立つのが、DefaultHTTP。proxy-config.xmlに次のようにエントリを書いておくと、HTTPServiceのurl属性やWebServicewsdl属性で、好きなサイトを呼び出すことができるようになります。DefaultHTTPのエントリは、デフォルトで存在すると思うので、dynamic-urlのタグを足してください。


<destination id="DefaultHTTP">
<properties>
<dynamic-url>*</dynamic-url>
</properties>
</destination>
自分がダウンロードされたサイトにアクセスする場合は、次のようにして@ContextRoot()を使うと良いでしょう。@ContextRoot()はHttpServletRequest#getContextPath()と同じものを返します。

<mx:HTTPService id="srv" url="@ContextRoot()/product"/>
S2BlazeDSを使えば、RemotingServiceの設定をする必要がないので、これで、ほとんど、BlazeDSの設定はしなくてもすむようになります。
そうすると、すごく、BlazeDSが身近に感じられるようになると思います。設定がいろいろあると精神的にいやになるからね。
気になるのは、セキュリティですが、外のサイトを呼べるようにするだけなので、問題ないんじゃないかと思っています。自分たちのサイトは、きちんとセキュリティをかけるべきですが、これは、DefaultHTTPを使わない場合も同じです。