Генерация клиента CXF WebService: использование существующих классов модели домена - PullRequest
1 голос
/ 20 апреля 2011

У меня есть веб-приложение, которое разделено на GUI (JSF 2.0, Orchestra, Spring) и сервис (Spring, JPA, Hibernate, ...).Из-за сетевых проблем между веб-сервером и сервером базы данных я хочу полностью разделить приложение между уровнями и развернуть их на двух разных кошках для служебной части, близкой к серверу базы данных.Я уже сгенерировал веб-сервис и веб-сервис-клиент с плагином Eclipse WTP CXF.

Моя проблема: для клиента он создает копию классов модели домена, поэтому я не могу использовать их непосредственно вмой проект графического интерфейса и должен был бы ввести слой преобразования между клиентом веб-службы и уровнем графического интерфейса.Что громоздко и подвержено ошибкам.

Есть ли возможность сгенерировать клиента веб-сервиса (из существующего модуля веб-сервиса и wsdl), используя модель общего домена (классы модели находятся в отдельном проекте, как для сервисных, так и для графических проектов)зависит от)?

отчаянно ищет решение, так как срок развертывания близок ...

1 Ответ

1 голос
/ 20 апреля 2011

Создание копии классов модели домена (DTO) - хорошая практика, когда у вас есть два физических уровня: ваши POJO Hibernate должны быть депроксифицированы перед отправкой на другой физический уровень.Возможно, вы могли бы использовать Dozer, чтобы не тратить на это слишком много времени.

Возможно, вам следует использовать RMI вместо веб-служб, если вам нужны рабочие характеристики.

Если вы абсолютнорешив использовать ваши доменные объекты на уровне представления, вам следует взглянуть на Gilead (ранее известный как Hibernate4GWT).

Чистые DTO, DTO с Dozer и Gilead подробно описаны здесь: http://code.google.com/intl/fr/webtoolkit/articles/using_gwt_with_hibernate.html

...