以下のコードを含む Java Web サービスがあります。
@WebService
public class MyService {
@WebMethod
public String[] method1() {
String[] strArray = new String[2];
strArray[0] = "method1 array item 1";
strArray[1] = "method1 array item 2";
return strArray;
}
@WebMethod
public MyComplexType method2() {
return new MyComplexType();
}
}
method2() は、クラス メンバーとして文字列配列を含む複合型を返します (コードは以下にあります)。
public class MyComplexType {
public String[] InternalArray;
public MyComplexType() {
InternalArray = new String[2];
InternalArray[0] = "complex type array item 1";
InternalArray[1] = "complex type array item 2";
}
}
結果の wsdl には、このメンバーの array_of_xsd_string が含まれています。
要素名="InternalArray" nillable="true" タイプ="impl:ArrayOf_xsd_string"
wsdl2java でクライアント コードを作成すると、サービスは空の ArrayOf_xsd_string オブジェクトを返します。
また、C# クライアントを作成しました。webreference は空の文字列配列を返します。
簡単に言えば、複雑な型内で文字列配列を返す必要がありますが、サービスは空の配列を返します。