2015-01-13 2 views
0

클래스 파일이 Wildfly Module 내부에있는 SOAP 웹 서비스 구현을 배포하는 데 문제가 발생했습니다. 모듈은 웹 응용 프로그램이 액세스 할 수있는 전역 모듈이며 (모듈에 저장된 다른 클래스에 액세스 할 수 있음을 알고 있습니다) 배포 오류가 발생하지 않습니다. 그러나 정상적인 상황에서와 같이 "서비스 엔드 포인트 메타 데이터 추가"라는 로그가 나타나지 않으며 wsdl이 생성되지 않습니다.JBoss Wildfly의 모듈 디렉토리에서 SOAP Webservice 구현 구현

참고로 동일한 컨테이너에 3 개의 다른 SOAP 웹 서비스가 배포되었지만 모든 구현 클래스는 해당 웹 응용 프로그램 내에있는 jar 내에 있습니다. 웹 서비스 구현을 모듈 내에 저장하는 것으로 알려진 문제입니까? 공개 할 수없는 이유 때문에 문제가되지 않아야합니다. 어떤 도움이라도 대단히 감사하겠습니다.

+0

모듈 내의 웹 서비스 구현에 주석을 사용하고 있습니까? –

+0

예, 대상 WebService 및 WebMethod에 targetnamespace 및 서비스 이름이 미리 정의되어 있습니다. 글자 그대로 WebServiceA를 가져 와서 WebAppB의 lib 디렉토리에있는 jar 파일에 넣으면 모든 것이 정상적으로 작동합니다. 그러나 WebServiceA의 jar를 jboss 모듈로 옮기면 배포되지 않습니다. 오류는 표시되지 않지만 jar 파일 내의 다른 클래스에 액세스 할 수 있으므로 모듈이 제대로로드되었는지 보장 할 수 있습니다. – dsutherland

+0

자,'MANIFEST.MF'에서'Dependencies : org.foo annotations'와 같은 것을 추가해보십시오.'org.foo'는 여러분의 모듈입니다. https://docs.jboss.org/author/display/JBWS/JBoss+Modules#JBossModules-Annotationscanning –

답변

1

@ federico-sierra와 대화 한 후 웹 응용 프로그램의 /META-INF/MANFIEST.MF에 종속성 선언과 관련된 문제가 있음을 발견했습니다.

내 원래 매니페스트 파일과 같은 나타나

Manifest-Version: 1.0 
Dependencies: org.webservice.impl.library, org.apache.log4j 
Built-By: usera 
Build-Jdk: 1.7.0_55 
Created-By: Apache Maven 3.2.2 
Archiver-Version: Plexus Archive 

종속성 라인에 포함해야 할 때 '주석'내 웹 서비스 클래스 경로에 다음이 내 웹 서비스를 변경 한 후에,

Dependencies: org.webservice.impl.library annotations, org.apache.log4j 

또한 구현 jar 파일을 maven jandex 플러그인으로 다시 컴파일해야 jar 파일의 jandex.idx 파일이 jar 파일 내부에서 생성됩니다. Maven 플러그인 설명은 다음 위치에 있습니다 : https://github.com/wildfly/jandex-maven-plugin. 참고 : 필요한 경우 ANT 플러그인을 사용할 수 있습니다.