1

Webサービスを作成するためのWS。パラメータとして、2つの文字列と、プロジェクトのクラスであるタイプのオブジェクトの配列を取り込んでいます。

Webサービスのインターフェースと実装を作成しました。これは次のようになります。

@WebMethod(operationName = "getStuff")
@WebResult(name = "result")
 Mix getStuff(
    @WebParam(name = "string1") String one,
    @WebParam(name = "string2") String two,
    @WebParam(name = "stuff") Stuff[] stuff
);

プロジェクトのクラスであるMix型のオブジェクトを返し、プロジェクトの別のクラスであるStuff型の配列を受け入れています。Javaからのテストは問題ではありませんが、他の誰かがサービスを利用しようとしたり、soapUIを使用してリクエストを送信しようとすると、配列は常にnullになります。サービスを利用している人がStuff型の配列で正しく送信できるようにするには、何をする必要がありますか?JAXBでカスタマイズを行う必要がありますか?

4

1 に答える 1

-1

JAXB2 は配列ではなくリストを使用するため、署名を次のように置き換える必要があります。

@WebMethod(operationName = "getStuff")
@WebResult(name = "result")
 Mix getStuff(
    @WebParam(name = "string1") String one,
    @WebParam(name = "string2") String two,
    @WebParam(name = "stuff") java.util.List<Stuff> stuff
);

また、 JAXB アノテーションが含まれてMixいることを確認してください。Stuff

于 2009-11-02T15:53:06.397 に答える