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