0


いくつかのセッションBeanも含むJBossAS7.1.1で実行されているJavaEE6CDIベースのアプリケーションがあります。

@Stateless
public class OrderService   {
@Inject
private Logger log;

@Inject
private EntityManager em;

    . . . . .

}

SLSBをSOAPWebサービスとして公開する必要があるまで、すべてが正常に機能しました。したがって、インターフェイスを提供し、Webサービスを宣言する必要がありました。

@Stateless
@Remote(OrderServiceItf.class)
@WebService
public class OrderService implements OrderServiceItf  {

@Inject
private Logger log;

@Inject
private EntityManager em;

    . . . . .
}

@WebService
public interface OrderServiceItf  {
. . . .
}

残念ながら、アプリケーションをデプロイすると、このBeanを使用するたびに次のWELD例外が発生します: org.jboss.weld.exceptions.DeploymentException:WELD-001408インジェクションポイント[[field ] @Inject com.telco.service.SendMessageService.orderService]

public class SendMessageService implements Serializable {
@Inject
private Logger logger;

int money;
@Inject OrderService orderService;

}

この問題を解決するにはどうすればよいですか?どうもありがとう!

4

1 に答える 1

1

あなたは使うことができ@Typed(OrderService)、あなたは良いはずです。これにより、そのBeanのメタデータが変更され、CDIはインターフェイスタイプではなく、EJBを具象タイプとして認識します。

于 2013-01-13T15:35:19.533 に答える