web.xml中的webservice源代码

时间:2012-10-26 02:46:06

标签: web-services tomcat netbeans web.xml

如何获取我的Web服务客户端(在Web应用程序中)使用web.xml文件获取wsdl的源代码?

我正在使用netbeans 6.9和tomcat,到目前为止,我们在Web应用程序中使用了wsdl的url进行了Web服务引用。

2 个答案:

答案 0 :(得分:0)

如果它必须是web.xml,您可以配置上下文参数(像任何其他参数),如:

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

完成上述配置后(Webservice.Location)是一个任意变量名称,您可以根据需要进行更改。如果您没有使用任何附加Web应用程序层,如JSF或Struts等,您现在可以在servlet中引用此变量(来自HttpServletRequest对象)

        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现在将包含配置的值

我建议您将这样的配置外部化为标准.properties文件,因为在尝试设置时,部署者会在web.xml中查找其他配置,这有点冒险。它也是应用程序配置管理的最佳实践。关于属性文件here

的小教程

答案 1 :(得分:0)

我不建议将这些资源存储在web.xml中,因为将来可以更改这些资源。对于例如如果部署在http://theaddress:8080/webapp?wsdl中的Web服务将迁移到其他服务器,则URL将更改。然后你必须修改你的应用程序,在这种情况下它不是非常有效的方式。

我建议JNDI存储这样的资源。阅读Tomcat中的how to do this,设置起来并不难。

另一种方法是使用.properties个文件,但我宁愿选择JNDI而不是.properties