URL을 사용하여 WSDL 파일 공개
URL을 사용하여 WSDL(Web Services Description Language) 파일을 공개할 수 있습니다.
시작하기 전에
webservices.xml의 <wsdl-file> 요소가 참조하는 파일은 다른 WSDL 또는 XML 스키마 정의(XSD) 파일을 가져올 수도 있습니다. 일반적으로 모든 WSDL 또는 XSD 파일은 초기 EJB(Enterprise JavaBeans) 사용 시 META-INF/wsdl 디렉토리에 또는 Java™ 사용 시 WEB-INF/wsdl 디렉토리에 저장됩니다. WSDL 또는 XSD 파일을 이들 디렉토리 중 하나에 배치하지 않는 경우, <wsdl-file>가 참조하는 파일 및 해당 가져온 파일이 공개 목적으로 wsdl 디렉토리에 복사됩니다.
두 가지 종류의 URL 조회 문자열 형식이 있습니다. 첫 번째는 서비스에 /wsdl을 추가하고 HTTP 및 JMS 바인딩만 리턴합니다. 두 번째는 서비스에 /extwsdl을 추가하고 HTTP, JMS 및 EJB 바인딩을 포함하여 확장된 WSDL 파일을 리턴합니다. WSDL 파일에 EJB 바인딩만 들어 있고, /wsdl 조회가 사용된 경우, 브라우저에 WSDL 파일에 HTTP 또는 JMS 바인딩이 없다는 오류 메시지가 표시됩니다. 오류 메시지는 /extwsdl 조회를 대신 사용하도록 제안합니다. URL을 사용하여 WSDL 파일을 공개할 경우, 애플리케이션에 웹 모듈이 있어야 합니다. 웹 모듈은 애플리케이션에서 제공하거나 HTTP 라우터 모듈의 양식으로 있습니다. EJB 애플리케이션에 JMS 또는 EJB 웹 서비스 바인딩만 있는 WSDL 파일이 들어 있을 경우, endptEnabler 명령을 사용하여 HTTP 라우터 모듈을 애플리케이션에 추가할 수 있습니다.
이 태스크 정보
URL을 사용하여 WSDL 파일을 공개하려면 다음을 수행하십시오.
프로시저
예
<module-root>/
WEB-INF/
webservices.xml /* the <wsdl-file> element points to "WEB-INF/wsdl/fooImpl.wsdl"*/
web.xml
ibm-webservices-bnd.xml
wsdl/
fooImpl.wsdl /* imports foo.wsdl which is an interface wsdl */
foo.wsdl /* type definition for the interface */
foo 서비스의 SOAP 주소가 http://examples.com:9080/services/foo인 경우, foo 서비스의 맨 뒤 WSDL을 검색하기 위한 간단한 방법은 다음 http://examples.com:9090/services/foo/wsdl 또는 http://examples.com:9090/services/foo/wsdl/ 양식을 사용하는 것입니다. URL은 http://examples.com:9090/services/foo/wsdl/fooImpl.wsdl로 재지정됩니다. 여기서 fooImpl.wsdl은 맨 뒤 WSDL 파일의 이름입니다.
fooImpl.wsdl 파일에는 가져오는 <import namespace="http://examples.com/foo" location="a/b/foo.wsdl>이 있으므로, URL http://examples.com:9090/services/foo/wsdl/a/b/foo.wsdl을 사용하여 foo.wsdl 파일을 얻으십시오.