0

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

createTransaction(String, int)当我使用 Eclipse 创建一个新的 Web 服务客户端时,它会使用旧版本中定义服务的方法生成存根。在查看 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 个参数的存根呢?

4

1 回答 1

0

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

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

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

于 2013-04-19T19:14:53.803 回答