サーバー: JBoss 7.1.1 EJB 3.0 Eclipse Juno
ejb 3.0 を使用して最初の Web サービス プロジェクトに取り組んでいますが、クライアントで問題が発生しています。クライアントのために、サーブレットを作成しました。問題は、私が試みるときです:
CalculatorOps calculator = (CalculatorOps)context.lookup("java:global/EJBCalculatorWS/CalculatorImp!math.CalculatorOps");
ルックアップで ClassNotFoundException を取得しています。JBoss server.log からこの jndi を取得しました
[org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-3) JNDI bindings for session bean named CalculatorImp in deployment unit deployment "EJBCalculatorWS.war" are as follows:
java:global/EJBCalculatorWS/CalculatorImp!math.CalculatorOps
java:app/EJBCalculatorWS/CalculatorImp!math.CalculatorOps
java:module/CalculatorImp!math.CalculatorOps
WS とクライアントの 2 つの Web プロジェクトがあり、どちらもサーバーに追加されており、WS はクライアントのビルド パスにあります。
- - - - - - -コード - - - - - -
インターフェース
package math;
@Local
public interface CalculatorOps {
public int add(int a, int b);
public int subtract(int a, int b);
}
クラス
package math;
@Stateless(mappedName="TheCalc")
@WebService
public class CalculatorImp implements CalculatorOps{
@Override
public int add(int a, int b) {
return a+b;
}
@Override
public int subtract(int a, int b) {
return a-b;
}
}
サーブレット
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
CalculatorOps calculator = (CalculatorOps)context.lookup("java:global/EJBCalculatorWS/CalculatorImp!math.CalculatorOps");
}