Должен ли я использовать плагин xfire с Gralis или есть лучший способ? - PullRequest
1 голос
/ 08 августа 2009

У меня есть веб-сервис в Grails, опубликованный с использованием плагина xfire. Это все нормально и может быть подключено без проблем. Но я бы хотел изменить формат запроса и ответа. Это возможно?

Пример структуры:

Домен класса Person, имеет много Sibling с. Каждый Sibling имеет Child.

Мой метод веб-сервиса в настоящее время выглядит примерно так:

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

Но это создает WSDL в формате:

Person
   Person fields
       Sibling
           Sibling fields
           Child
       Sibling
            Sibling fields

и т. Д. И т. Д.

Я не хочу принимать данные в этом формате или возвращать их в этом формате. Есть ли способ указать, какие поля открыты для веб-службы и как должен выглядеть WSDL, или xfire - неподходящий плагин для этого?

Ответы [ 2 ]

1 голос
/ 08 августа 2009

Я бы ответил на это как на его создателя. Чтобы исключить некоторые свойства домена, добавьте:

static xmlTransients = ['your_property_goes_here']

к классам вашего домена.

Однако плагин не позволяет напрямую управлять созданием WSDL.

0 голосов
/ 09 августа 2009

Я бы порекомендовал посмотреть на плагин Spring WS . Он разработан для разработки веб-сервисов «по первому контракту», поэтому вы можете полностью контролировать получившийся WSDL. Все плагины Xfire, Axis и Metro великолепны, но, по моему опыту, все они ориентированы на код в первую очередь и не позволяют напрямую контролировать результирующий интерфейс / вывод.

...