【问题标题】:JBoss - Prevent WSDL splittingJBoss - 防止 WSDL 拆分
【发布时间】:2018-04-26 16:43:15
【问题描述】:

我正在与 JBoss 一起从事 SOAP WS 项目。为了定义 SOAP 操作,我用@Local 和@WebService 注释我的Java 类,用@WebMethod 和@WebResult 注释我的方法。

WSDL 文件由 JBoss 自动生成。我可以自定义 WSDL 的某些方面: https://docs.jboss.org/author/display/JBWS/Published+WSDL+customization

JBoss 将 WSDL 拆分为几个文件。 'main' WSDL 使用 标记来包含其他文件。

我的网络服务在 Intranet 内部和外部使用。我的 WS 的“内部”主机名与其​​“外部”主机名不同。由于 JBoss 为 WSDL 导入生成完整的 URL 链接,为了确保我的 WSDL 有效,我必须使用 'wsdl-host' 覆盖 URL 的主机名。

我不得不在 wsdl-host 中使用外部 URL 以允许两个内部和外部系统工作。因此,所有内部 SOAP 客户端都使用外部 URL 获取包含的 WSDL 部分。如果外部代理由于某种原因关闭,我的内部客户端将无法使用 WS,因为它们无法加载 WSDL。

有没有办法防止 JBoss 将 WSDL 拆分为多个文件,或者强制它在 标签内使用相对路径而不是完整 URL?

【问题讨论】:

    标签: java web-services soap jboss wsdl


    【解决方案1】:

    here 给出的答案通过在主 WSDL 中内联其他 WSDL 文件来防止 WSDL 分裂。我可以确认它有效。为了做到这一点,我只是在所有 @WebService 注释中使用了相同的 targetNamespace

    @WebService(targetNamespace="<your namespace here>")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多