2017-10-18 1 views
1

Apache CXF의 wsdl_first 샘플에서 pom 파일은 wsdl 파일을 WEB-INF /에 저장합니다. 또한 src/main/resources의 모든 xml 파일과 wsdl 파일은 src/main/resources에 있기 때문에 WEB-INF/classes로 끝납니다.wsdl 파일이 WEB-INF (Apache CXF)에 있어야하는 이유는 무엇입니까?

tomcat에 webapp를 배포합니다.

내 질문은 : WEB-INF에서 wsdl 파일을 삭제하고 WEB-INF/classes (및 Tomcat을 다시 시작)에서 xml 파일과 wsdl 파일을 제거하면 webapp가 여전히 작동합니다. 왜 pom 파일은 wsdl 파일을 WEB-INF에 명시 적으로 넣었습니까? 왜 xml 파일과 wsdl 파일이 WEB-INF/classes에 있습니까?

src/main/webapp에는 web.xml과 cxf-servlet.xml이 있습니다. 그들은 WEB-INF /로 끝납니다. 내가 그들을 제거하면, 일이 잘못됩니다.

답변

0

WSDL은 서비스 인터페이스의 공식 정의입니다. 즉, SOAP 서비스 용 클라이언트를 만들려면 WSDL이 필요합니다. 이 WSDL을 사용하여 클라이언트에 대한 코드 아티팩트를 생성 할 수 있습니다. 이는 WSDL에서 서버를 생성하는 것과 거의 비슷합니다.

이제 WEB-INF 폴더가 게시되고 WSDL이 거기에 게시되면 게시됩니다. 이를 통해 클라이언트는 WSDL을 사용할 수 있습니다. 그러나 WSDL은 서비스를 실행하는 데 필요하지 않습니다. 따라서 WSDL을 제거 할 수 있습니다.

일반적으로 공개 브라우징에 대한 서비스를 보호 할 때 WSDL을 제거합니다. 그러면 서비스 정의를 얻는 모든 사람을위한 기능이 제거됩니다.

은 WSDL은 닷넷 등이 실행하는 SOAP 서버 또는 클라이언트 필요하지 않습니다 그러나

자바 등 다양한 언어로 유물을 생성하는 데 사용 단지 정의입니다 기억하십시오. 코드 생성 만하면됩니다.

관련 문제