RemoteObjectが呼び出せない。

Flex2で、RemoteObjectの呼出のサンプルを作っていたら、RemoteObjectの呼出時に以下のエラーが発生。

[RPC Fault faultString="Send failed"
faultCode="Client.Error.MessageSend"
faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed"]

services-config.xmlやremoting-config.xmlを確認したけどおかしなところはない。

分からないので、リクエストをキャプチャしたところ。
/messagebroker/amfのように、コンテキストルートが抜けたパスでアクセスしていることが判明。
サーバには、/messagebroker/amfというパスは存在しないので、404が返されていた。

なので、コンテキストルートを設定するファイルがないか探してみたところ。
flex-config.xml の中にあった。

   /flex

が、ここを直してもなおらず。
どうやら、ここの設定は、MXMLが呼び出されたときにサーバ上でSWFを生成するときの、コンパイラの引数らしい。
ローカルでMXMLコンパイルする場合は、別のところで引数をしていしないとならない。

Flex SDKmxmlc のヘルプを見たところ、それっぽいのがあることが判明。
で、EclipseFlexプロジェクトのPropertiesの中にあるFlex Compilerの"Addtional compiler arguments"に、以下のオプションを追加。

  -context-root /hogehoge-sample

これでうまく動いた。