1

OpenEJBを使用して簡単なWebサービスを作成しようとしています。TomEEプロジェクトのサンプルコード(webapps / ejb-webservice)から始めました。

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;
    }
}

すべてがうまく構築されます。サーバーへのwarのデプロイにも問題はありませんが(TomEE 1.0.0-beta-1-webprofileを使用しています)、このWebサービスにアクセスしようとすると、内部OpenEJBメソッドから一連のNameNotFoundExceptionがトリガーされます。

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

しかし、問題は名前検索方法の使用でした。サンプルコードでは、明示的なルックアップはありません。

誰かがこの問題の原因が何であるかを知ることができますか?

4

1 に答える 1

2

他の人がスタックオーバーフロー検索で解決済みとしてリストされていることを確認するのに役立つ可能性があるため、これを回答に移動します。

解決策は、JAX-RSやJMSなどの他のテクノロジーに加えて、JAX-WSをサポートするTomEEPlusを使用することです。

于 2011-10-29T00:22:13.770 に答える