9

ボトムアップアプローチを使用して、RSA7.5およびWebsphere7でJAX-WSを使用してWebサービスを作成しました。SOAP UIでWSDLを開くと、引数セクションは次のように表示されます。

<!--Optional-->
<arg0>
    <empID>?</empId>
</arg0>
<!--Optional-->
<arg1>
    <empName>?</empName>
</arg1>
<!--Optional-->
<arg2>
    <empAddress>?</empAddress>
</arg2>
<!--Optional-->
<arg3>
    <empCountry>?</empCountry>
</arg3>

serviceメソッドは、従業員の詳細を返すためのパラメーターとして上記の4つの要素を取ります。

1)このarg0、arg1などの名前をいくつかの有効な名前に変更したいと思います。

<!--optional-->2) argタグの上にあるプレゼントを削除したい。(要素名から削除するために<!--optional-->、@ XMLElement(required = true)を使用しました)。しかし、この場合、この注釈をどこで正確に使用するかはわかりません:(

助けてください。

よろしく、

4

1 に答える 1

13

上記の変数を、サービスから返されるクラスに配置@XMLElement(required=true)します。私は約1か月前にそのオプションについて知りました。したがって、empName を宣言する場所のすぐ上にタグと必須を置きます。

サービスのパラメーターの名前を変更するには、サービス@WebParam(name="<name you want in soap>")への各入力変数の前に を使用します。

たとえば、サービス メソッドが呼び出された場合、次のget(String name)ようになります。get(@WebParam(name = "name") String name)


あなたのコメントをもう一度読んだので、あなたは正しいです。私がサポートするサービスは、入力と出力でオブジェクトを使用します。そのため、これらのオブジェクトのクラスに XMLElement タグを配置しました。

サービスに渡される、またはサービスに返される変数を宣言するクラスにタグを配置する必要があります。それらがたまたまサービスクラスで宣言されている場合は問題ありません。要点は、XMLElement タグを変数宣言の上に置くのではなく、getter または setter に置くことです。

このチュートリアルでは、使用例をいくつか示します。JAXB チュートリアル

于 2012-09-16T03:33:57.160 に答える