私はWeblogic Server上にアプリケーションを持っています。 RESTWEBserviceからSOAPwebserviceにEJBを注入する際に問題があります。 このアプリケーションにはいくつかのモジュールがあります。今はそのうちの3つだけが重要です。別のモジュールでも同じアプリケーションから@EJBを注入する
展開は、次のようになります。
アプリケーション
- API(JAR)
- SOAPWebService(WAR)
- RESTWebService(WAR)
どちらのウェブサービスはAPIを持っているそれらに組み込まれています。 ここにクラスの重要な部分があります。 私は注入したい私のRestWebserviceのEJB:
@Local(EJBSOAPinterface.class)
@Stateless(mappedName = "RESTCLASS", name="RESTCLASS")
public class RESTCLASS implements EJBSOAPinterface{...}
APIのインターフェイスは、両方のモジュールを使用しWICH:
@Local
public interface EJBSOAPinterface{....}
私は
public SOAPCLASS {
@EJB(lookup="JNDINAME..")
EJBSOAPinterface ejb;
......}
にEJBを注入したいSOAPのwebserviceModule @Localと@Remoteの両方をインタフェースとEJBの両方で使用しようとしました。それは仕事をしません。
私はそれがいずれかの作業をいけない
public SOAPCLASS{
@EJB(name="RESTCLASS")
EJBSOAPinterface ejb;
.....}
aswell EJBを注入するために、これを試してみました。 問題は、SOAPCLASSがその注入のために展開されないことです。 私のやり方によって違う例外が発生します。しかし、現在、私はjava.lang.InstantiationExceptionを取得しています: "....."という名前のBeanを作成中にエラーが発生しました .....依存性注入失敗:クラスインタフェース "....."に関するBean定義を見つけることができません
はい。私はjavaにちょっと新しいです。そして、どんな助けも役に立つでしょう!この問題を解決する方法について! ありがとう!
どのようなjndi名を使用しましたか?起動時に、 'EJBSOAPinterface'に利用可能なjndi名を出力する出力があるはずです。すべて試してみるべきです。 –
weblogic Serverのバインディング名を確認しています。 RESTCLASS#INTERFACEPACKETNAME.EJBSOAPinterface – hannehanen
のようなもの.warの名前(もしあれば.ear)を含む他の名前があるはずです –