1

こんにちは、あなたが提供できる助けを前もって感謝します。

私の AIR アプリケーションは Web サービスにクエリを実行して、構築するコンポーネントを確認します。返される XML のサンプルは次のとおりです。

<item>
 <type>EventList</type>
 <url><![CDATA[http://dashboard/cgi-bin/dataService.pl?type=ManagedEvents]]></url>
 <index>4</index>
 <title>Index 4 eventlist</title>
 <description>Application 4</description>
</item>

コンポーネントが一連のデータを取得できるように、フィールドに格納されている URL を mxml コンポーネントの HTTPService に渡そうとしています。囲んでいるアプリケーションは、上記の XML を適切に解析してから、次のことを行います。

component.getData(url);

コンポーネント getData の場所:

public function getData(url:String):void {
    ws = url;
    dataService.send();
}

<mx:HTTPService 
        id="dataService"
        url="{ws}"
        resultFormat="e4x"
        result="resultsHandler(event);"
        fault="faultHandler(event);"
        useProxy="false"
    />

send() が呼び出されると、次のエラーが発生します。

[FaultEvent fault=[RPC Fault faultString="URL は、useProxy を false に設定して指定する必要があります。" faultCode="Client.URLRequired" faultDetail="null"] messageId=null type="fault" bubble=false cancelable=true eventPhase=2]

私が間違っていることについての手がかりはありますか?(助けてくれてありがとう)

結核

4

2 に答える 2

2

ws 変数をどのように定義したかによって異なります。データバインディングに使用できることを指定するには、その前に [Bindable] メタタグが必要です。例えば:

[Bindable]
public var ws:String;

もちろん、次のように、データ バインディングを使用する代わりに、HTTPService オブジェクトの URL を明示的に設定することもできます。

public function getData(url:String):void {
    dataService.url = url;
    dataService.send();
}

お役に立てれば。

于 2009-08-22T20:50:06.007 に答える