java - JAX-WS 如何在 weblogic 中隐藏 WSDL?

标签 java jakarta-ee wsdl jax-ws weblogic-10.x

我创建了一个 JAX-WS 网络服务并将其部署在 weblogic 10.3.3 上。它已成功部署,一切正常。

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

Deployed application -> Webservice -> Configuration tab

在此选项卡中,通过将“false”置于参数“WSDL 发布文件”中。

保存它创建了一个 Plan.xml。当我尝试激活 Weblogic 中的更改时出现问题。以下是我得到的异常:

An error occurred during activation of changes, please see the log for details.

Error encountered during prepare phase of deploying WebService module 'TB_DBLEGI_SIMULATOR-trunk.war'. Error encountered while deploying WebService module 'TB_DBLEGI_SIMULATOR-trunk.war'. Failed to publish wsdl java.io.IOException: Wsdl file should be placed at META-INF/wsdl, or WEB-INF/wsdl

Wsdl file should be placed at META-INF/wsdl, or 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>

关于java - JAX-WS 如何在 weblogic 中隐藏 WSDL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10734880/

相关文章:

java - Spring AOP setAdvice 仅在一种特定方法上

java - 在 Web 应用程序 Java EE/Spring 的一部分上实现自定义安全/过滤器

jakarta-ee - WebLogic Server 10.3.6 中的 JPA 2.0

Android环境下Java日期解析特定字符串格式

java - 使用 spring Data JPA 将 sql 查询的结果映射到 pojo

java - JAXB2 Maven Plugin xjc parse error : org. xml.sax.SAXParseException: Unexpected <xs:element>出现

wsdl - 如何在 Web 浏览器中访问 OSB 代理服务的 WSDL URL

python - 带有 WSDL 文件的 Spyne Soap 服务器

java - 如何编写包含 boolean 值的构造函数?

java - 向大约 15 个 Firebase 对象添加值/子事件是否会导致堆大小增加?