2012-10-26 3 views
0

웹 응용 프로그램에서 웹 서비스 클라이언트를 얻으려면 web.xml 파일을 사용하여 wsdl의 소스를 얻으시겠습니까?web.xml의 webservice 소스

나는 netbeans 6.9와 tomcat을 사용하고 있으며, 지금까지 웹 애플리케이션에 wsdl의 URL로 웹 서비스 참조를 가지고 있습니다. 그것은 web.xml을해야하는 경우

답변

0

, 당신이 좋아하는 (다른 같은) 상황에 맞는 매개 변수를 구성 할 수 있습니다 위와 같이 설정 한 후

<context-param> 
    <param-name>webservice.Location</param-name> 
    <param-value>http://theaddress:8080/webapp?wsdl</param-value> 
    </context-param> 

합니다 (Webservice.Location)는 변경할 수 있습니다 임의의 변수 이름입니다 귀하의 필요에 부응하십시오. 당신이 어떤 추가 기능 등 JSF 나 스트럿츠와 같은 웹 응용 프로그램 레이어를 사용하지 않는 경우, 당신은 지금

 String webServiceAddr = request.getServletContext().getInitParameter("webservice.Location"); //getServletContext() will give you an instance to a ServletContext object which basically is a representation of your entire web application deployment environment including configuration files. 

변수 webServiceAddr 지금을 포함하는 서블릿과 같이합니다 (HttpServletRequest 객체)이 변수를 참조 할 수 있습니다 구성된 값

설정을 시도하는 동안 web.xml의 다른 구성에 대해 배포자를 망칠 수있는 위험이 있으므로이 구성을 표준 .properties 파일에 외부화 할 것을 권장합니다. 또한 응용 프로그램의 구성 관리에서 가장 좋은 방법입니다. 속성 파일에 대한 간단한 자습서 here

+0

web.xml에서해야하지만, 게시 한 것을 사용하는 방법을 모르겠다. 올바른 방법이라는 것을 이해했다. – Jorge

+0

@Jorge, 죄송합니다. 사용을 포함하도록 수정했습니다. – kolossus

0

이러한 리소스는 나중에 변경할 수 있으므로 web.xml에 저장하지 않는 것이 좋습니다. 예 : http://theaddress:8080/webapp?wsdl에 배포 된 웹 서비스가 다른 서버로 마이그레이션되면 URL이 변경됩니다. 그런 다음 응용 프로그램을 수정해야합니다.이 경우 매우 효율적인 방법은 아닙니다.

나는 이런 리소스를 저장하기 위해 JNDI을 제안 할 것이다. 에 how to do this이라고 읽으면 설정하기가 어렵지 않습니다.

.properties 파일을 사용하는 대신 JNDI.properties 이상으로 선택하는 것이 좋습니다.