2

无论如何我可以告诉glassfish 3禁用地铁吗?我目前正在使用 CXF 作为我的库。CXF 正在运行,但它也在发布自己的 Web 服务。

无论如何,我可以告诉 glassfish 不要发布这些额外的 Web 服务吗?这些是 @WebService 注释的 benans

我尝试声明一个包含此内容的 sun-web.xml,但它仍然无法正常工作

Glassfish 3 我自动发布它,它创建了两个 Web 服务实例,而不是一个。

多谢

4

2 回答 2

1

如果没有这个 sun-web.xml 文件来配置类加载器,CXF 拦截器将无法在 Glassfish 中工作。默认情况下,Glassfish 将 Metro 用于 JAX-WS 服务,因此需要将类加载器配置为允许 CXF 库提供 JAX-WS 服务。以下 sun-web.xml xml 源已添加到 /WEB-INF 以解决此问题:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD 
Application Server 9.0 Servlet 2.5//EN' 
'http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd'> 
<sun-web-app> 
<class-loader delegate="false"/> 
</sun-web-app>

来自 CXF 网站的解释: http: //cxf.apache.org/docs/application-server-specific-configuration-guide.html#ApplicationServerSpecificConfigurationGuide-Glassfish

于 2011-05-03T12:09:07.190 回答
1

要禁用 Metro 监控,请转到管理控制台,配置 -> 服务器配置,然后添加以下 JVM 选项:

-Dcom.sun.xml.ws.monitoring.endpoint=false

重新启动服务器以应用此设置。

于 2011-07-09T17:09:41.637 回答