2012-03-24 2 views
1

이것은 Java EE 5 마이그레이션에서 얻은 명확한 질문입니다. 저는 현재 WAR 파일에 압축 된 Java EE 6 웹 서비스를 개발 중입니다. CDI를 사용할 수 있는지 알고 싶습니다. 나는 (내가 아는 한) WAR에서 할 수없는 주석을 사용하여 몇 가지 예제를 보았습니다.Java EE 6 WebService 및 CDI injection

현재 구현 :

@WebService 
public class MyService{ 

    @Inject 
    HelloTeller teller: 

    @WebMethod 
    public String sayHello(){ 
     teller.sayHello(); 
    } 
} 

참고 : 다른 접근 방식이 웹 서비스에 대해 구체적으로 ejbModule을 생성하는 것입니다.

답변

2

EE6에서는 전쟁에서 JAX-WS 종단점으로 SLSB를 사용할 수 있어야합니다. EJB를 주입하고, 범위 지정 및 응용 프로그램 범위 콩을 CDI에서 요청할 수 있습니다.

+0

시도했지만 입력 된 필드는 항상 null입니다. 별도의 순수 ejb 프로젝트에서 작동하도록 할 수는 있지만 WAR를 사용하는 것은 아닙니다. –

+0

arquillian 테스트 또는 간단한 전쟁/github 프로젝트가 있습니까? – LightGuard

+2

@Timoteo Ponce : WEB-INF 디렉토리에 beans.xml 파일이 있습니까? 없으면 CDI가 작동하지 않습니다. 이 파일을 사람들은 자주 잊어 버립니다. – kraftan