XML-RPC сервер в модуле EJB - PullRequest
1 голос
/ 31 января 2011

Мне интересно, возможно ли создать серверный компонент XML-RPC в модуле EJB без сервлетов. Я знаю, что EJB обычно использует RMI в качестве протокола связи, но что, если я хочу пропустить RMI. Что делать, если я хочу обмениваться данными между EJB и веб-модулем (WAR) или другими клиентами другим способом, например XML-RPC.

Может ли EJB-модуль работать как автономный модуль, который будет представлять свое состояние и сервисы как сервер XML-RPC?

Я все еще могу сделать модуль EJB, связанный с WAR через RMI, в то время как эта WAR предоставит эти сервисы через сервлет. Тогда другие WAR или другие клиенты могут вызывать эту первую WAR. Это правильно или есть какая-то другая возможность?

Ответы [ 2 ]

0 голосов
/ 19 марта 2013

В EJB3 ваши сервисные компоненты являются просто аннотированными POJO. Вы можете просто аннотировать те же POJO с помощью @WebService (и остальной части этого семейства аннотаций), чтобы предоставлять те же сервисы, что и веб-сервисы.

Я понимаю, что это не совсем то, о чем вы просили, поскольку реализацией для служб, предоставляемых таким способом, является JAX-WS, который использует сообщения SOAP. Но я думаю, что это достигает твоих намерений.

0 голосов
/ 05 февраля 2011

Что вам, вероятно, нужно, это использовать Spring Remoting для демонстрации ваших EJB-компонентов через, например, JAX-WS. Spring автоматически создаст сервлеты для обработки запросов за вас. Плохая новость заключается в том, что вы должны вызывать свои EJB из сервисов удаленного взаимодействия, которые вы строите, то есть некоторый шаблонный код. Это должно быть довольно прямо вперед.

Другой возможностью, на которую вы можете взглянуть, является Restlet , который можно использовать для создания отдыхающих сервисов.

...