おうち帰ってきた

ハーイ、1日ぶり。

そしてXMLバインディングの続きが気になってしょうがない。オブジェクト配列にバインディングする所でコケた。他の実装を見すぎてどれが素敵かわかんなくなっちゃった。大体バインディングの所のソースって深いから結構時間をかけて追わないと覚えられないんだけど、短時間で大量の実装を見てしまったがため、結局全部あんまり覚えてないという事に(^_^;

とりあえず型が配列でなくListとかなら大丈夫。だけど今使ってるSoapEnvelopeがバインディングされるBeanは配列を使ってるのよね。。。とりあえず目標を来週まで延ばして実装に取り掛かる事にする。

そしてデコードはできてもエンコードはできないんじゃないかと思い始めた。単なるXMLエンコード/デコードならできるけど、ネームスペースが付くXMLは単なるBeanからは出力できない。Axisに含まれるSoapEnvelopeクラスを使えば表現できるのだけどそれだどSoapEnvelope専用になっちゃうし。いや…専用でいいんだけどね…他に使う予定があるわけじゃないし、他の用途なら既存のライブラリで十分できる。

今回はエンベロープの内容が変わる事が決まっていて、テストデータがSoapBodyの形式で送られてくる事から必要だと思って作り始めたもの。Axisのコードを作り変えれば文字列として与えたSoapEnvelopeをオブジェクトに変換する事は可能。だけど、たくさんの機能がついていて、そこだけ抜き出すのは余計手間と思い自作する事にした。作りたかったという気持ちも結構あったけどね。