[Seasar-user:15170] Re: 【s2Axis2】一般公開されているWSへのアクセス
Takanori Suzuki
[E-MAIL ADDRESS DELETED]
2008年 7月 27日 (日) 13:54:59 JST
たかのりです。
> 1.プロパティの名称
> 返り値がBeanのものにアクセスした場合に
> 以下の様な事象が発生しております。
>
> <complexType name="HogeBean">
> <element name="empCode" nillable="true" type="xsd:string"/>
Axis2では、WSDLは以下のようになるはずです。
<xs:complexType name="HogeBean">
<xs:sequence>
<xs:element name="empCode" nillable="true" type="xsd:string" />
</xs:sequence>
</xs:complexType>
全て小文字のプロパティならば値が設定される、というのは、
なぜそうなるのか不明ではありますが、
WSDLの違いに因るものだと思われます。
> 2.配列が戻り値の場合
>
> この場合は正しく配列が作られない事象が
> 発生しています。60件程度データが返って
> きているのですが、実際の配列は1件で
> Beanの内容も何も設定されていません。
こちらのWSDLはどのようになっていますでしょうか?
参考までに、s2axis2-exampleでBeanの配列を持つ場合のWSDLを以下に示します。
<xs:schema
xmlns:ax26="http://dto.common.examples.axis2.remoting.seasar.org/xsd"
attributeFormDefault="qualified"
elementFormDefault="qualified"
targetNamespace="http://ex03.examples.axis2.remoting.seasar.org">
<xs:import
namespace="http://dto.common.examples.axis2.remoting.seasar.org/xsd"/>
<xs:element name="findAllResponse">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="return"
nillable="true" type="ax26:Employee"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:schema
attributeFormDefault="qualified"
elementFormDefault="qualified"
targetNamespace="http://dto.common.examples.axis2.remoting.seasar.org/xsd">
<xs:complexType name="Employee">
<xs:sequence>
<xs:element minOccurs="0" name="depertment" nillable="true"
type="ax25:Department"/>
<xs:element minOccurs="0" name="empno" nillable="true" type="xs:int"/>
<xs:element minOccurs="0" name="ename" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="hiredate" nillable="true"
type="xs:dateTime"/>
<xs:element minOccurs="0" name="job" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="mgr" nillable="true" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="roles"
nillable="true" type="ax25:Role"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Department">
<xs:sequence>
<xs:element minOccurs="0" name="deptno" type="xs:int"/>
<xs:element minOccurs="0" name="dname" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="loc" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Role">
<xs:sequence>
<xs:element minOccurs="0" name="roleId" type="xs:int"/>
<xs:element minOccurs="0" name="roleName" nillable="true"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
公開されているサービス(サーバ側)ということで、難しいかもしれませんが、
サービスをAxis2でデプロイして、WSDLや通信データのXMLの差異を
確認して頂くことは可能でしょうか?
====
Takanori Suzuki
Seasar-user メーリングリストの案内