【问题标题】:useOriginalwsdl=true is not working in axis2useOriginalwsdl=true 在axis2中不起作用
【发布时间】:2011-11-06 17:30:17
【问题描述】:

我遵循合同优先的方法。所以我先写了wsdl文件,然后生成了服务端代码。但是当我在浏览器中点击我的网络服务的 url 时,我会看到自动生成的 wsdl 文件;不是我保存在 META-INF 文件夹中的那个。我还在 services.xml 文件中设置了 useOriginalwsdl=true 。当我尝试在浏览器中查看 wsdl 时,它会触发错误 无法为该服务生成 WSDL 1.1description 部分和 如果您希望 Axis2 自动生成 WSDL 1.1,请在 error 标记的 reason 部分中的 services.xml 中将 useOriginalwsdl 设置为 false .

请帮帮我。

【问题讨论】:

    标签: web-services axis2


    【解决方案1】:
    如果您按照以下步骤操作,

    useOriginalwsdl=true 将起作用:

    1. 将自定义 wsdl 文件放入 META-INF 文件夹中。
    2. 自定义 wsdl 和 services.xml 中的服务名称应相同
    3. 将客户 wsdl 命名为 service.wsdl 或 (Your ServiceName).wsdl。
    4. 在 services.xml 文件中设置 useOriginalwsdl=true

    注意:如果 useOriginalwsdl=true,Axis2 引擎首先尝试使用任何名为 service.wsdl 的 wsdl 文件。如果未找到,则尝试查找命名(您的服务名称).wsdl 如果不成功,则当您尝试访问 Web 服务时会显示错误。

    【讨论】:

    • 此解决方案似乎不适用于 Axis2-1.6.4(2012 年发布)。
    【解决方案2】:

    您的 WSDL.. 中是否有外部架构引用?如果是这样,这些也应该添加到 META-INF 目录中...请同时附上您的 WSDL..

    由于您首先使用合同,因此最好也验证您的 WSDL。有可用的 wsdl 验证工具...

    谢谢...

    【讨论】:

      猜你喜欢
      • 2017-02-28
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多