[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 メーリングリストの案内