2009-08-13 8 views
0

サードパーティのWebサービスを照会していますが、すべてのデータがイベントハンドラに送信されているとは限りません。ネットワークモニタでリクエスト/レスポンスを見ると、それぞれ2つの文字列変数(name、url)と2つの配列(counts、breakdown)を含むデータオブジェクトのコレクションが表示されます。結果ハンドラがデータを受け取って、それをデバッグモードで表示すると、データオブジェクトのコレクションにはそれぞれ1つの文字列変数(名前)のみが含まれます。他の文字列var(url)と両方の配列(counts、breakdown)には何が起こったでしょうか?それはイベントハンドラに到達する前に、それがネットワークによって受信された後に壊れているように見えるので、何が起こるだろうか?これはIDEの問題である可能性が最も高いですか?他に誰もこれを見た?前もって感謝します。ネットワークモニタのFlex - SOAP変数ですが、イベントハンドラにはありません

答えて

0

複雑な型が正しく直列化解除されないことがあります。サービスを直接呼び出すか、フレックス生成プロキシクラスを使用していますか?

文字列がSOAP応答メッセージに含まれていることを確認するには、デバッグポイントをSOAPDecoderクラスに置き、デシリアライゼーションに従うことが最善の方法です。

BURPのようなツールを使用して、SOAPメッセージのHTTPパケットをサービスとの間でキャッチできます。

+0

お返事ありがとうございます。 'カスタムWebサービスのシリアライゼーション'を読む際は、mx.rpc.soap.ISOAPDecoderクラスをデバッグする必要があります。問題は、どこにでもそのファイルが見つかりません。私のシステム上のSDK 3.3または3.4のパスにはありません。物事を複雑にしているアイデアは? –

+0

ええ、その厄介なものを見つける!あなたの最善の策は、SOAPDecoderを拡張したクラスを作成してそこにドリルし、デバッグポイントを設定することです。複雑なコードですが、最終的にXMLDecoderに到達します。がんばろう!私があなたに乗っていく方法を知っているよ! 私はSOAPエンコーダへのアクセスを望んでいたので、このフォーム上で他の誰かと反対のことをしたちょっとしたクラスを作ったので、テンプレートを必要とする名前をスワップするだけです - http://stackoverflow.com/questions/1247273/how- add-a-flat-message-header-to-a-flex-web-service-call/1249592#1249592 – Jon

+0

驚くばかり!頭を下げる。 DecodeBody()関数にはbodyXML変数のすべてが渡されますが、soapResult.result varを設定すると欠落しているという欠点があります。 –

関連する問題