Java JAX-WS如何在weblogic中隐藏WSDL?
我创建了一个JAX-WSWebService并将其部署在WebLogic10.3.3上。它部署成功,一切正常 现在,我们希望通过隐藏WSDL来访问Web服务。我试图从weblogic管理控制台隐藏WSDL。转到此位置Java JAX-WS如何在weblogic中隐藏WSDL?,java,jakarta-ee,wsdl,jax-ws,weblogic-10.x,Java,Jakarta Ee,Wsdl,Jax Ws,Weblogic 10.x,我创建了一个JAX-WSWebService并将其部署在WebLogic10.3.3上。它部署成功,一切正常 现在,我们希望通过隐藏WSDL来访问Web服务。我试图从weblogic管理控制台隐藏WSDL。转到此位置 Deployed application -> Webservice -> Configuration tab 在此选项卡中,将“false”放在参数“WSDL发布文件”中。 保存此文件将创建一个Plan.xml。当我试图激活Weblogic中的更改时,问题就出现了。
Deployed application -> Webservice -> Configuration tab
在此选项卡中,将“false”放在参数“WSDL发布文件”中。
保存此文件将创建一个Plan.xml。当我试图激活Weblogic中的更改时,问题就出现了。以下是我得到的例外情况:
激活更改时出错,请查看日志以了解详细信息
细节
部署WebService模块的准备阶段遇到错误
“TB_DBLEGI_模拟器-trunk.war”。部署时遇到错误
Web服务模块“TB\u DBLEGI\u模拟器-trunk.war”。未能发布
wsdl java.io.IOException:wsdl文件应放在META-INF/wsdl中,
或WEB-INF/wsdl
Wsdl文件应该放在META-INF/Wsdl或WEB-INF/Wsdl中
在我的war中,WSDL放在WEB-INF/WSDL文件夹中。
另外,我尝试将其放置在不同的位置,但没有成功。您始终可以编写并注册一个
过滤器来阻止对给定资源的访问。
例如:
public class BlockFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {}
@Override
public void destroy() {}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
return;
}
}
并在web.xml
中注册过滤器:
<filter>
<filter-name>blockFilter</filter-name>
<filter-class>namespace.BlockFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>blockFilter</filter-name>
<url-pattern>*?wsdl</url-pattern>
</filter-mapping>
块过滤器
namespace.BlockFilter
块过滤器
*?wsdl
您始终可以编写并注册过滤器来阻止对给定资源的访问。
例如:
public class BlockFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {}
@Override
public void destroy() {}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
return;
}
}
并在web.xml
中注册过滤器:
<filter>
<filter-name>blockFilter</filter-name>
<filter-class>namespace.BlockFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>blockFilter</filter-name>
<url-pattern>*?wsdl</url-pattern>
</filter-mapping>
块过滤器
namespace.BlockFilter
块过滤器
*?wsdl
这在JAX-RPC中是可能的。在注释@WSDL中,我们有一个属性“exposed”。通过这种方式,我们可以隐藏wsdl,例如@wsdl(exposed=false),这在JAX-RPC中是可能的。在注释@WSDL中,我们有一个属性“exposed”。这样我们可以隐藏wsdl,例如@wsdl(exposed=false)