0

String型のいくつかのメンバーを含むClassAと、Stringメンバーのみを含むClassBの配列の1つのメンバーがあるとします。このようなもの:

public class ClassB{

    private String string1;
    public ClassB(){
        string1 = "value1";
    }
}

public class ClassA{

    private String string1;
    private String string2;
    private ClassB[] classB = null;

    public ClassA(){
        string1 = "value1";
        string2 = "value2";
        classB = new ClassB[2];
        classB[0] = new ClassB();
        classB[1] = new ClassB();
    }
}

次に、エンドポイントクラスでメンバー関数を次のように定義します。

//...
public ClassA getClassA(){
    return new ClassA();
}
//...

このコードは明らかに役に立たず、不完全であり、頭から書いたのでおそらく間違っていますが、それは私の主張を示しています。

このクラス(または同様の構成)でjava2wsdl.shを実行すると、.wsdlファイルが取得されますが、配列ClassB[]は無視されます。axis2はデフォルトでJAXBシリアル化を使用していることを理解しており、アノテーションを使用して出力を制御しようとしましたが、役に立ちませんでした。

ClassB []が.wsdlファイルに含まれるように動作を変更するにはどうすればよいですか?

4

1 に答える 1

1

これを機能させるために必要な(しかし十分ではないかもしれない)条件は、ClassBを静的として宣言することです。

于 2012-09-06T08:59:15.890 に答える