フレックスWebサービスの障害:HTTPリクエストエラー
-
05-09-2019 - |
質問
のFlex 3とWebServiceコンポーネントを使用してイム。私は入門次の障害
HTTP request error
サービスメソッドへの呼び出しを行うとき。このエラーは現れたと私は
それを引き起こしていただきまし把握カント <mx:WebService
useProxy="false"
id= "myService">
<mx:operation name="getName" resultFormat="object"
result="getNameResultHandler(event)"
fault="faultHandler(event)"/>
</mx:WebService>
私は、WSDLは、私がのFlashVarとして読み込ま私のinitメソッドをイム設定しました。任意のアイデア?
次のように私は電話をかけるために使用するコードが進み、
var id:Strig = Application.application.parameters.id;
mysERVICE.getname(id);
<時間>
エラーがスローされたときに、次のを見て、[OK]イム
[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: http://localhost:9081/app/services/RoomLookup"]. URL: http://localhost:9081/`app/services/RoomLookup`"]
が示すURLは、iが
は、パラメータとして供給TEH wsdlUrlに異なっていますapp/services/RoomLookup
ローカルホストを追加するか、これはキャッシュに保存されたものになる可能性があるフレックス
<時間>私はすでにこれをログに記録してもらう「HTTPリクエストエラー」
解決
ほとんどのSOAPとRPCフレームワークは500
にエラー応答のHTTPステータスコードを設定します。 Flash Playerは、ステータスコード500であるので、で動作することが困難な場合がHTTPレスポンスの内容を処理することができません。残念ながら、そこにプレーヤーにこの問題を回避する方法はありませんので、最も一般的な方法は、サーバーがそのユーザーエージェントのFlash Playerで要求のため500
するエラー応答のHTTPステータスを設定しないことを確実にするためであると考えられます。
他のヒント
faultHandler()
に以下を追加します:
trace(event.fault.faultString, "Error");
if (event.fault is SOAPFault) {
var fault:SOAPFault=event.fault as SOAPFault;
var faultElement:XML=fault.element;
// ...
}
これはあなたの狩りを開始するために何かを与えるでしょう。
所属していません StackOverflow