私はWebサービスが初めてです。テスト用にいくつかの単純な Web サービスを作成していますが、次の質問があります。
ここの Web サイトには、JAX-RPC がプリミティブ型の配列をサポートしていると書かれています。しかし、単純なWebサービスを書くとき
@WebService
@SOAPBinding(style=Style.RPC)
public interface AddNums {
@WebMethod
public int addNumbers(int[] nums);
}
wsdl からクライアント コードを生成すると、次の WS クライアント インターフェイスが得られます。
@WebMethod
@WebResult(partName = "return")
public int addNumbers(
@WebParam(name = "arg0", partName = "arg0")
IntArray arg0);
メンバーが保護されたリストを持つ IntArray クラスを生成します
public class IntArray {
@XmlElement(nillable = true)
protected List<Integer> item;
これがアレイのサポート方法ですか? では、配列を渡す唯一の方法は、IntArrayのインスタンスを作成し、 List of Integersをそれに設定することですか?
また、Webサービスをドキュメントスタイルにするとき
WSDL からの WS クライアント インターフェイスには、次のメソッドがあります。
public int addNumbers(
@WebParam(name = "arg0", targetNamespace = "")
List<Integer> arg0);
元のサービスのint[ ]配列はList< Integer>になりました
これは、wsdl から生成されたクライアント コードでは、Web サービスの Array 型が常に List に変換されるということですか?