오늘 개발 프로젝트에서 문제가 발생했습니다. 나는 Glassfish 환경에서 전에했던 것처럼 TomEE 1.6.0+ 환경에서 webservice를 만들고 싶었다. 나는 문제가 많아서 Apache CXF를 Sun Metro 스택 (버전 2.3)으로 대체하려고 생각했습니다.Apache CXF를 TomEE의 Sun Metro로 바꾸십시오.
본인이 직접 튜토리얼을 찾지 못 했으므로 직접 해결하려고했습니다. 내 솔루션 TomEE lib 폴더에서 모든 cxf - *. jar 및 openejb - cxf - *. jar 삭제하고 webservices - *. jar 추가했습니다 (단지 다음과 같은 4 라이브러리 : rt, 도구, 추가, api)를 메트로 배포판에서 가져옵니다. 설치 ant 스크립트를 살펴본 결과 설치 정의에 따라 파일을 선택했습니다.
이제 모든 것이 완벽 해 보입니다. 이제는 이전에 일했던 것과 똑같은 방식으로 webservices를 사용할 수 있습니다. 내 프로젝트가 TomeEE 환경에 원활하게 배포됩니다.
내 질문은 지금 매우 간단합니다 :
이 올바른 해결책인가, 아니면 해킹처럼 보인다?
의견에 대해 미리 감사드립니다.
그렇습니다. apache-cxf jax-rs를 사용하지 않으면 주석 처리가 실제로 실패하지만 물론 jax-rs 구현이 없기 때문에 이것은 사소한 결과입니다. 그래서 나는 더 많은 실험을했습니다. apache-cxf 라이브러리를 다시 변경했습니다. 이제 루트 컨텍스트가 있기 때문에 jax-rs 리소스를 모두 내 URL s destroyes에 포함합니다. jax-rs 리소스 클래스를 삭제하면 url이 다시 좋게됩니다. 그리고 webservice는 훌륭하게 작동하지만 webservice 클라이언트는 정책 대안 중 "어느 정책 대안도 만족할 수 없습니다"라는 정책 오류를 제공하므로 모든 기능을 사용할 수 없습니다. 더 많은 연구가 필요해. –