1

xfire プラグインを使用して公開された Grails の Web サービスがあります。全く問題なく接続できます。しかし、リクエストとレスポンスの形式を変更したいと思います。それは可能ですか?

構造の例は次のとおりです。

ドメイン クラスPersonには、多くSiblingの があります。それぞれSiblingChild.

現在、私の Web サービス メソッドは次のようになっています。

Person updatePerson(Person person) {
  return Person.getById(person.id)
}

ただし、次の形式の WSDL が生成されます。

Person
   Person fields
       Sibling
           Sibling fields
           Child
       Sibling
            Sibling fields

などなど

この形式でデータを受け入れたり、その形式で返したりしたくありません。どのフィールドが Web サービスに公開され、WSDL がどのように表示されるかを指定する方法はありますか? または、これに使用するプラグインとして xfire は不適切ですか?

4

2 に答える 2

1

私はその作成者としてこれに答えます。一部のドメイン プロパティを除外するには、次を追加します。

static xmlTransients = ['your_property_goes_here']

ドメインクラスに。

ただし、プラグインでは、WSDL の作成を直接制御することはできません。

于 2009-08-08T17:09:02.233 に答える
0

Spring WSプラグインを見ることをお勧めします。これは「コントラクト優先」の Web サービス開発を中心に設計されているため、生成される WSDL を完全に制御できます。Xfire、Axis、および Metro プラグインはすべて優れていますが、私の経験からすると、すべてコード ファーストに向けられており、結果のインターフェイス/出力を直接制御することはできません。

于 2009-08-09T05:26:23.723 に答える