2

Web サービス内にマネージド Bean を注入しようとしていますが、注入された Bean は常に null です。誰かが理由を知っていますか? もしそうなら、ヒントや回避策を提供できますか?

@WebService(targetNamespace = "http://impl.soap.valueservice.drivelog.com/", endpointInterface = "com.drivelog.valueservice.soap.impl.ValueService", portName = "ValueServiceImplPort", serviceName = "ValueServiceImplService")
public class ValueServiceImpl implements ValueService {

    @Inject
    private ValueServiceFacade valueBean;

...
}

@ManagedBean
public class ValueServiceFacadeImpl implements ValueServiceFacade {
...
}
4

2 に答える 2

0

これは本当に恥ずかしいです。

このブログ投稿 ( https://weblogs.java.net/blog/jitu/archive/2010/02/19/jax-ws-cdi-java-ee-6-0 ) およびこの投稿 ( https:// blogs.oracle.com/arungupta/entry/totd_124_using_cdi_jpa )、これは機能するはずですが、ここで TomEE を使用して機能させることはできません。

ここ ( https://bugzilla.redhat.com/show_bug.cgi?id=1001610 ) で JSR についての議論もいくつかありますが、なぜそれが機能しないのかはわかりません。

TomEE (openEJB) については、多くの問題 ( https://issues.apache.org/jira/browse/OPENEJB-1592に関連するもの) がクローズされ、「認証のためにすべて完了しました」という恐ろしいコメントを見つけることができました。 JEE Web プロファイルはこれらを連携させる必要はありませんが、完全な EJB プロファイルを実装する Geronimo はこれを連携させる必要があるかもしれません。

Java EE 6 WebService と CDI インジェクションも参照してください。

ですから、これには正直答えられません。同時に、どのコンテナを使用しているかについて、さらに詳しい情報を提供していただくようお願いいたします。

于 2014-01-14T17:36:16.070 に答える