[Seasar-user:15145] 【s2Axis2】一般公開されているWSへのアクセス

鈴木 順 [E-MAIL ADDRESS DELETED]
2008年 7月 24日 (木) 18:28:21 JST


お世話になっております。鈴木です。

現在、s2Axis2を利用して既に公開されているWS
にアクセスする案件があります。

s2      2.4.17
s2Axis2 0.5.0
を利用しています。
axis2はmavenを利用して、s2axis2のpomに
定義されているものを使用しています。

http://s2axis.seasar.org/ja/s2axis2/examples.html#rest
を例にしてアクセスする事はできました。

そのWSには返り値がBeanのものとBeanの配列のものがあります。
そこで幾つか質問があります。

1.プロパティの名称
返り値がBeanのものにアクセスした場合に
以下の様な事象が発生しております。

<complexType name="HogeBean">
<element name="empCode" nillable="true" type="xsd:string"/>

というように該当のBeanにはempCodeと言う
プロパティがあります。

Client側のBeanにempCodeと言うプロパティを定義した場合には、
値が設定されないのですが、
empcodeと全て小文字のプロパティを定義した場合には値が設定されます。
これは仕様となるのでしょうか?

2.配列が戻り値の場合

この場合は正しく配列が作られない事象が
発生しています。60件程度データが返って
きているのですが、実際の配列は1件で
Beanの内容も何も設定されていません。
Beanは上記と同じものを使用しています。
80件返ってきているというのは
動作ログ上に出力されている返ってきたxml
を元に判断しております。

<ns1:loadAllAccountResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://logic.hoge.worksap.co.jp">
<loadAllAccountReturn soapenc:arrayType="ns2:AccountBean[62]" xsi:type="soapenc:Array" xmlns:ns2="crm" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<loadAllAccountReturn href="#id0"/>
<loadAllAccountReturn href="#id1"/>
(略)
<loadAllAccountReturn href="#id61"/>
</loadAllAccountReturn>
</ns1:loadAllAccountResponse>
(略)
<multiRef id="id51" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:AccountBean" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns3="crm">
<empCode xsi:type="xsd:string">WS30</empCode>
(略)

1,2共に、
org.seasar.remoting.axis2.connector.AxisInOutConnector
を利用した
org.seasar.remoting.common.interceptor.RemotingInterceptor
を使用しております。

尚、該当のwsはaxis1.2で作られているもの
ですが、こちらの事情で、s2axisではなく、
s2axis2を使用しています。

調査に必要な情報などありましたら
申しつけ下さい。








Seasar-user メーリングリストの案内