« June 2004 | Main | August 2004 »

July 31, 2004

WebService with Flash

Macromedia -FlashTechNotes:Passing complex data structures to web services

When passing complex data structures (arrays of objects, multidimensional arrays, objects containing arrays, and so on) to or from a web service operation, an error similar to the following occurs:

今開発中のWebServiceにComplex Objectを送ると、"Error opening URL"とかいう、すごい訳のわかんない不親切なエラーがでる。で、なんか探してたら上記のページが出たんですけど、要は、オブジェクトのプロパティに配列を要れると駄目っぽい。今使ってるオブジェクトはそんなんじゃないんだけどなー。

解決策みたら、Flash Remoting Serverを使ってくださいだって。へー。

その下にノートがあって、.NETではそんな感じの問題は発見されてませんですって!マジで!思いっきり.NET使ってるんですけど!

何か他の原因がありそう。しかし、Flashってデバッグしずらいね。

最悪、WebService諦めて普通のPOST形式とかでいくかな。なんか、しょんぼりだなー、それ。

(以下追記)
結局は.NET側で別のエラーが出てて、HTTPステータス500を返していたんだけど、Flashはそれを"Error opening URL"っていうエラー文言だけで片付けてしまっていた・・・。.NET側は、ステータス500に加えてコンテンツにエラーの内容をちゃんとSOAP形式で出してるのにも関わらず・・・。と言う事で、普通にデバッグ用Proxyを間にかませたら簡単に解決するような内容でした。どうして、最初からそれやらなかったんだろうか。

因みにどうでも良いけど、これと格闘して3,4時間ぐらい。こういうどうでも良いようなところに時間って取られちゃうんだよね。まあ、ナレッジが貯まっていけば次回はすんなりいけると。