[Seasar-user:4821] [S2Axis]Mapの送受信が期待通りに動作しない
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2006年 10月 19日 (木) 12:26:04 JST
はじめまして、坪内と申します。
現在、S2Axis を利用した Web サービス、及びクライアントを開発
しようとしているのですが、問題が解決できずに困っています。
開発環境、及び問題の内容は以下の通りです。
■開発環境
・JDK 1.5.0_06
・Tomcat 5.0.28
・Seasar 2.3.11 + S2Axis 1.0.2 + Axis 1.4
■問題
Map を送受信するサービスを作成したところ、期待通りの
動作をしない。TCP モニタで送信メッセージを確認すると、
・送信時
Map の中身が空となっている。
・受信時
Map の持つ値の型が、base64Binary となっている。
受信すると、空文字として受け取ってしまう。
■現状
送信時に関しては、AxisConnector の拡張クラスを作成して
Call インスタンスに registerTypeMapping をすることで回避。
ただし、受信時に関しては未だ解決せず。
サーバ側の dicon ファイルに、以下のようなタイプマッピング定義を
記述しても、結果は変わりませんでした。
(中略)
<meta name="axis-service">
<component class="org.seasar.remoting.axis.ServiceDef">
<initMethod name="addTypeMapping">
<arg>
<component class="org.seasar.remoting.axis.TypeMappingDef">
<property name="type">@[E-MAIL ADDRESS DELETED]</property>
<property name="serializer">@[E-MAIL ADDRESS DELETED]
</property>
<property name="deserializer">@[E-MAIL ADDRESS DELETED]
</property>
<property name="encodingStyle">"http://schemas.xmlsoap.org/soap/encoding/
"</property>
</component>
</arg>
</initMethod>
</component>
</meta>
おそらく、クライアント側とサーバ側との Map のシリアライズ方法が
異なっているのが問題ではないかと思っています。
なお、Axis 1.4 単体で同様のサービスを作成し、実行すると
Map の送受信ともに期待通りの動作が確認できました。
サーバ側に対して、まだ足りない設定があるのでしょうか。
あるいは、S2Axis の問題なのでしょうか。
どうかご教授頂きますよう、お願いします。
>'))++++++++++++++++++<
坪内 龍太郎
Seasar-user メーリングリストの案内