【问题标题】:JAX-WS: Eclipse Web Service wizard generates wrong stubsJAX-WS:Eclipse Web 服务向导生成错误的存根
【发布时间】:2013-04-19 12:10:17
【问题描述】:

我有一个带有 JAX-WS 的 SOAP Web 服务。我有一个方法createTransaction(String, String, String, int, String[][])

当我使用 Eclipse 创建一个新的 Web 服务客户端时,它会使用 createTransaction(String, int) 方法生成存根,这就是过去在旧版本中定义服务的方式。在查看 WSDL 时,create 方法实际上应该期望 5 个参数而不是 2 个:

<message name="createTransaction"> <part name="arg0" type="xsd:string"/> 
  <part name="arg1" type="xsd:string"/> 
  <part name="arg2" type="xsd:string"/>
  <part name="arg3" type="xsd:int"/>
  <part name="arg4" type="ns1:stringArrayArray" xmlns:ns1="http://jaxb.dev.java.net/array"/>
</message>

那么,Eclipse 是如何生成只有 2 个参数的存根的呢?

【问题讨论】:

  • 你清理缓存了吗?代理缓存?

标签: eclipse jax-ws stub


【解决方案1】:

听起来您工作区中的某些内容尚未针对您的新方法签名进行更新。您可以尝试对项目进行干净构建,删除任何生成的 WSDL 或 XSD 文件并重新构建客户端。关闭和重新打开项目之前也对我有所帮助。

我怀疑 Eclipse 工具中是否存在如此明显的缺陷,因此我建议尝试确保没有使用旧方法签名保存任何内容。

作为最后的手段,您可以创建一个新项目并仅移动您自己的文件(Eclipse 不会生成任何文件)并重试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 2012-03-06
    • 1970-01-01
    • 2017-09-05
    • 2011-08-04
    相关资源
    最近更新 更多