2

voのリストを返すWebサービスを作成しようとしています。VOのリストを返すことができます。しかし、私は特定の方法でxml構造が必要です。

Eclipse軸を使用してそれを行う方法がわかりません。

私の設定

  • 日食3.4
  • java 1.6
  • 軸ランタイム
  • Tomcat 6

私のVO構造

LookVO

名前:文字列

id:string

getGroupLookVOとしてWebサービスクラスにメソッドがあります

そのために私は次のようにリターンxmlを取得します

<getGroupLookVOResponse>
<getGroupLookVOReturn>
<name>one</name>
<id>1</id>
</getGroupLookVOReturn>
<getGroupLookVOReturn>
<name>two</name>
<id>2</id>
</getGroupLookVOReturn>
<getGroupLookVOReturn>
<name>three</name>
<id>3</id>
</getGroupLookVOReturn>
</getGroupLookVOResponse>

必要なxml構造は

<getGroupLookVOResponse>
<getGroupLookVOReturn>
<LookVO>
<name>one</name>
<id>1</id>
</LookVO>
<LookVO>
<name>two</name>
<id>2</id>
</LookVO>
<LookVO>
<name>three</name>
<id>3</id>
</LookVO>
</getGroupLookVOReturn>
</getGroupLookVOResponse>

メソッドシグネチャは

public LookVO[] getGroupLookVO()

wsdlを編集しようとしましたが、クライアントを再生成するとすぐにwsdlが書き換えられます。また、私はWSD1が苦手です。

助けてくれて正しい方向に向けてくれませんか

4

1 に答える 1

1

問題が発生した場合は、クライアントではなく、前にWebサービスを再生成する必要があります。

1)必要な動作を実現するために、(クライアントではなく)Webサービスでメソッドを変更します

2)WSパッケージを右クリックし、[新規]->[その他]->[Webサービス]->[Webサービス]を選択します。

3)ウィザードに従って、公開するすべてのメソッドを追加します

4)サーバーにWebサービスをデプロイします

その後

5)新しいwsdlからクライアントを再生成します


個人的な発言ですが、それは好みの問題です。XMLでは、XMLスキーマによる検証ではこの可能性が提供されないため、同じリスト内の要素の順序の概念は存在しないはずです。必要な順序で要素を生成できますが、適切に設計されたXMLの「純粋主義者」である場合は、同じリスト内のタグの順序に依存しないでください。しかし、私はこれについてあまり迷惑になりたくありません:))

于 2012-08-07T15:40:18.483 に答える