0

したがって、3 つの異なる XML ファイルに対して 3 つの HTTPService 呼び出しがあります。

<mx:HTTPService id="projectsHttp" url="projects.xml" resultFormat="e4x" makeObjectsBindable="true" result="countProjects(event)" />
<mx:HTTPService id="studentsHttp" url="students.xml" resultFormat="e4x" makeObjectsBindable="true" result="createStudentsCollection(event)" />
<mx:HTTPService id="dprepHttp" url="directorsPrep.xml" resultFormat="e4x" makeObjectsBindable="true" result="createPhase(event)" />

最初の 2 つはうまく機能しますが、最後の 1 つは機能しません。テスト目的で、createPhase 関数は次のようになります。

public function createPhase(e:ResultEvent):void
{
    Alert.show("Testing");
}

また、 directorPrep.xml ファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<directorspreps>
    <directorsprep>
        <prepid>1</prepid>
        <title>dir. prep. 1</title>
        <workingtitle>dp1 WT</workingtitle>
        <startdate>7/7/2011</startdate>
        <numdays>2</numdays>
        <positions>
            <role>1D</role>
            <role>2D</role>
            <role>1C</role>
        </positions>
    </directorsprep>
    <directorsprep>
        <prepid>2</prepid>
        <title>dir. prep. 2</title>
        <workingtitle>dp2 WT</workingtitle>
        <startdate>7/10/2011</startdate>
        <numdays>3</numdays>
        <positions>
            <role>1D</role>
            <role>2D</role>
            <role>1C</role>
            <role>GE</role>
        </positions>
    </directorsprep>
</directorspreps>

directorPrep.xml ファイルがロードされないのを妨げるものを見た人はいますか?

編集: 私はばかです... .send(); をしませんでした :(時間の無駄でごめんなさい

4

1 に答える 1

1

確かに言うのは難しいです。XML ファイルを含む小さなプロジェクトを Flex3 で作成しましたが、問題なく動作しました。faultハンドラーが失敗する理由を知るために、ハンドラーを追加する必要があります。調べる必要がある場合は、そのハンドラーにブレークポイントを設定します。send()また、その XML ファイルをロードするために呼び出していることを確認してください。これは私のために働いていたものの例です(障害ハンドラを含む)。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600">

    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.rpc.events.FaultEvent;
            import mx.rpc.events.ResultEvent;

            public function createPhase(e:ResultEvent):void
            {
                Alert.show(e.result.toString());
            }

            protected function createPhaseFailed(e:FaultEvent):void
            {
                Alert.show(e.message.toString());
            }

        ]]>
    </mx:Script>

    <mx:HTTPService id="dprepHttp" url="directorsPrep.xml" resultFormat="e4x" makeObjectsBindable="true" 
                    result="createPhase(event)" fault="createPhaseFailed(event)" /> 

    <mx:initialize>
        <![CDATA[
            dprepHttp.send();
        ]]>
    </mx:initialize>

</mx:Application>

幸運を!

于 2011-07-06T14:36:54.083 に答える