복붙노트

[SPRING] Jax-ws, Spring 및 SpringBeanAutowiringSupport

SPRING

Jax-ws, Spring 및 SpringBeanAutowiringSupport

내 @Webservice 클래스에 있지만 SpringBeanAutowiringSupport 확장, 자동 와이어 링은 스프링 2.5에서는 작동하지 않지만, tomcat6.

아무것도 주사하지 않는다.

나는 mainpath에서 autowiring하는 빈을 테스트했다. classpathcontext를 사용하여 모든 것이 잘 주입되었다. 그러나 jax-ws 엔드 포인트는 아닙니다.

아이디어가 있습니까?

해결법

  1. ==============================

    1.나는이 config 요소를 사용하고 있다고 생각한다.

    나는이 config 요소를 사용하고 있다고 생각한다.

    <context:annotation-config />
    

    하지만 @Endpoint 주석을 지원하려면이 요소를 추가해야합니다.

    <context:component-scan base-package="" />
    
  2. ==============================

    2.솔루션을 찾았습니다. 문제는 Spring이 @WebService 클래스에 대한 bean을 autowire하지 않는다는 것이다 (다른 포럼에서 발견되는 것처럼 현재 버그 일 수 있음).

    솔루션을 찾았습니다. 문제는 Spring이 @WebService 클래스에 대한 bean을 autowire하지 않는다는 것이다 (다른 포럼에서 발견되는 것처럼 현재 버그 일 수 있음).

    해결책:

    빈 삽입을 위해 @Autowired 주석 (예 : @Service, @Repository 등) 대신 org.springframework.beans.factory.config.AutowireCapableBeanFactory.class를 사용하십시오.

    그래서:

  3. ==============================

    3.나는 다른 모든 사람들과 같은 경우인지 모른다. web.xml에서 리스너의 순서를 변경하여 저에게 효과적이었습니다. WSServletContextListener가 문제를 해결하기 전에 ContextLoaderListener를 배치합니다.

    나는 다른 모든 사람들과 같은 경우인지 모른다. web.xml에서 리스너의 순서를 변경하여 저에게 효과적이었습니다. WSServletContextListener가 문제를 해결하기 전에 ContextLoaderListener를 배치합니다.

  4. ==============================

    4.Metro, Axis2, apache-cxf와 같은 일부 참조 구현을 사용하면 웹 서비스에서 이러한 끝점을 쉽게 구성 할 수 있습니다.

    Metro, Axis2, apache-cxf와 같은 일부 참조 구현을 사용하면 웹 서비스에서 이러한 끝점을 쉽게 구성 할 수 있습니다.

  5. from https://stackoverflow.com/questions/2943082/jax-ws-spring-and-springbeanautowiringsupport by cc-by-sa and MIT license