Java クラスから xsd を生成するために、以下のゲッター メソッド レベルの XmlElement アノテーションを使用しました。
@XmlElement(type=Integer.class, required=true)
public int [] getTestArrayInt () { .... }
生成された XML 要素:
<xsd:element name="testArrayInt" type="xsd:int"/>
minOccurs のデフォルト値は 1 と言われているため、ここでは表示されていません。ただし、配列要素にリストする必要があるmaxOccurs="unbounded"がありません。Soap UI は、配列要素に maxOccurs="unbounded" が存在することを想定しています。その結果、Soap UI では、この要素は配列として扱われません。
注釈からtype=Integer.classを削除すると、XML でmaxOccurs="unbounded"が取得されるようになりました。
@XmlElement(required=true)要素の下に生成:
<xsd:element name="testArrayInt" type="xsd:int" maxOccurs="unbounded"/>
しかし、プリミティブデータ型には特にこの型が必要です。アノテーションにtypeがない場合、 minOccurs=1は必須ではない要素に対して欠落します(つまり、required =true が設定されていません)。
誰かがこれで私を助けることができますか?