[Seasar-user:5563] Re: [S2Axis] org.w3c.dom.Documentを引数に持つサービスメソッド呼出でエラーとなる
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2006年 12月 21日 (木) 11:00:18 JST
小林 (koichik) です.
Date: Wed, 20 Dec 2006 16:06:57 +0900
From: 笹部 敦之 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:5553] [S2Axis] org.w3c.dom.Documentを引数に持つサービスメソッド呼出でエラーとなる
> S2Axisでorg.w3c.dom.Documentを引数に持つサービスメソッド呼出で
> エラーとなってしまいます。
Axis には Document の Serializer がデフォルトで
組み込まれているのですが,Document オブジェクトの
実装クラスからは Serializer を見つけてくれないため,
明示的に TypeMapping を登録しないといけないようです.
クライアント側の dicon で以下のように TypeMapping を
登録してください.
<component name="connector" class="org.seasar.remoting.axis.connector.AxisConnector">
<property name="baseURL">
"http://localhost:8080/s2axis-examples/services/"
</property>
<initMethod name="addTypeMapping">
<arg>
<component class="org.seasar.remoting.axis.TypeMappingDef">
<property name="type">@[E-MAIL ADDRESS DELETED]</property>
<property name="namespaceURI">"http://xml.apache.org/xml-soap"</property>
<property name="localPart">"Document"</property>
<property name="serializer">@[E-MAIL ADDRESS DELETED]</property>
<property name="deserializer">@[E-MAIL ADDRESS DELETED]</property>
</component>
</arg>
</initMethod>
</component>
ただし,TypeMappingDef の type プロパティに設定しているクラスは
お使いの環境に合わせて変更してください.
上記のクラスは Java5 に含まれている Xerces を使っている場合です.
これは
> Document doc = db.newDocument();
で取得した doc の実装クラスになります.
もしサーバ側から Document を返す場合は同じように
TypeMapping を登録する必要があります.
# 引数で受け取るだけなら不要です.
その場合は以下のように設定してください.
<component name="Echo" class="org.seasar.remoting.axis.examples.ex01.EchoImpl">
<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="namespaceURI">"http://xml.apache.org/xml-soap"</property>
<property name="localPart">"Document"</property>
<property name="serializer">@[E-MAIL ADDRESS DELETED]</property>
<property name="deserializer">@[E-MAIL ADDRESS DELETED]</property>
</component>
</arg>
</initMethod>
</component>
</meta>
</component>
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内