Ошибки поиска при доступе к образцу веб-службы OpenEJB на TomEE

Я пытаюсь написать простой веб-сервис, используя OpenEJB. Я начал с примера кода (webapps/ejb-webservice) из проекта TomEE:

http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/examples-4.0.0-beta-1-src.tar.gz

Класс обслуживания использует аннотации:

@Stateless
@WebService(portName = "CalculatorPort",
        serviceName = "CalculatorWebService",
        targetNamespace = "http://superbiz.org/wsdl")
public class Calculator {
    public int sum(int add1, int add2) {
        return add1 + add2;
    }

    public int multiply(int mul1, int mul2) {
        return mul1 * mul2;
    }
}

Все строится нормально. Нет проблем и с развертыванием войны на сервере (я использую TomEE 1.0.0-beta-1-webprofile), но попытка доступа к этому веб-сервису вызывает серию NameNotFoundException из внутреннего метода OpenEJB:

2011-10-27 21:54:32,029 - ERROR - Error in safeBind method
javax.naming.NameNotFoundException: Name openejb is not bound in this Context
...
2011-10-27 21:54:32,031 - ERROR - Error in safeBind method
javax.naming.NameNotFoundException: Name TransactionManager is not bound in this Context
...
2011-10-27 21:54:32,033 - ERROR - Error in safeBind method
javax.naming.NameNotFoundException: Name TransactionSynchronizationRegistry is not bound in this Context
...
2011-10-27 21:54:32,034 - ERROR - Error in safeBind method
javax.naming.NameNotFoundException: Name ORB is not bound in this Context
...
2011-10-27 21:54:32,036 - ERROR - Error in safeBind method
javax.naming.NameNotFoundException: Name HandleDelegate is not bound in this Context

Я нашел сообщение с похожей ошибкой поиска:

http://openejb.979440.n4.nabble.com/EJB-2-1-OpenEJB-Tomcat-Datasource-Name-openejb-is-not-bound-in-this-Context-td3331555.html

но проблема заключалась в использовании метода поиска имени. В примере кода нет явного поиска.

Может ли кто-нибудь сказать, что может быть источником этой проблемы?


person user917938    schedule 27.10.2011    source источник
comment
Веб-профиль TomEE не поддерживает JAX-WS. TomEE Plus делает это. Можешь попробовать с этим?   -  person David Blevins    schedule 28.10.2011
comment
Переход на TomEE Plus решил проблему. Спасибо.   -  person user917938    schedule 29.10.2011


Ответы (1)


Перемещение этого в ответ, поскольку это может помочь другим увидеть его в списке решенных в поиске stackoverflow.

Решение состоит в том, чтобы использовать TomEE Plus, который поддерживает JAX-WS в дополнение к некоторым другим технологиям, таким как JAX-RS и JMS.

person David Blevins    schedule 29.10.2011