Java JAX-WS如何在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中的更改时,问题就出现了。

我创建了一个JAX-WSWebService并将其部署在WebLogic10.3.3上。它部署成功,一切正常

现在,我们希望通过隐藏WSDL来访问Web服务。我试图从weblogic管理控制台隐藏WSDL。转到此位置

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)