默认情况下,如果客户端访问 http://somehost.com/someservice?wsdl,大多数应用程序服务器会自动生成 WSDL。 。我的目标是在 JBoss EAP6 上禁用此功能。这不是关于为什么应该(或不应该)这样做,而是关于如何做。
这是我已经尝试过的:
使用 JBoss 中配置的 urlrewrite,如 https://community.jboss.org/thread/223243 中所述。 。不幸的是,我无法使其工作,因为建议的模式似乎符合任何请求。我的猜测是这是一个错误,因为该模式对我来说看起来是正确的。
使用 Web 应用程序 urlrewriter (Tuckey urlrewrite) 不起作用,因为请求在被 urlrewriter 过滤器处理之前被 JBoss 拦截。
在 Weblogic 中,有一个显式功能可以启用或禁用自动 WSDL 生成(请参阅 docs.oracle.com/cd/E13222_01/wls/docs100/webserv_ref/dd.html),但我无法找到类似的功能对于 JBoss。
欢迎任何意见。
最佳答案
我在standalone.xml中使用:
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<rewrite pattern="(.*)" substitution="-" flags="F">
<condition test="%{QUERY_STRING}" pattern="wsdl" flags="OR,NC"/>
</rewrite>
</virtual-server>
关于java - 在 JBoss (EAP6) 上禁用自动 wsdl 发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25059555/