【问题标题】:Error parsing wsdl - The sytem cannot find the path specified解析 wsdl 时出错 - 系统找不到指定的路径
【发布时间】:2015-05-05 20:59:49
【问题描述】:

我的 wsdl 位于http://localhost:9999/ws/hello?wsdl
我正在使用 wsimport 工具来解析发布的 wsdl 文件,并生成必要的 客户端文件(存根) 来访问已发布的 Web 服务。

我无法解析这个 wsdl,

我该如何解决这个问题?

HelloWorld.java接口,它是实现 HelloWorldImpl.java 它们都位于以下目录中,

C:\Users\ANSARI\Desktop\Lexicon\WorkSpaceLuna\WebServices\RPCStyle\src\com\farhan\ws

wsdl 文件:

【问题讨论】:

  • 您是否在浏览器中看到此 URL 的正确 WSDL:localhost:9999/ws/hello?wsdl,如果可能的话,您能在此处发布吗?
  • @K139:我确实看到了正确的 wsdl。在这里发布...
  • 看来您没有权限写入 \bin 文件夹。尝试从您具有写入权限的其他文件夹执行 wsimport。并将 JAVA_HOME\bin 文件夹保留在您的路径中。
  • @K139:我可以轻松地在 bin 内创建一个文件夹。
  • 也许您遇到了问题,因为您的工作目录位于路径中包含空格字符的 Program Files 文件夹下。您可以尝试从其他文件夹运行命令并在路径周围添加引号,例如cd C:\temp"C:\Program Files\Java\jdk1.8.0_25\bin\wsimport" -keep http://localhost:9999/ws/hello?wsdl

标签: java web-services wsdl


【解决方案1】:

您正在从路径包含空格字符 (Program Files) 的工作目录执行 wsimport 命令。这可能是wsimport 的代码生成(JAXB 绑定对象、WS 存根)部分问题的根源。

当没有使用-d-s options 明确指定生成文件的输出文件夹时,当前工作目录将用作默认值。 wsimport 在内部调用 JAX-WS / JAXB 代码生成工具时,似乎没有将目录参数括在引号中。

要解决此问题,您可以从路径中没有空格的目录运行命令。调用命令时还需要将wsimport 的路径用引号括起来:

cd C:\temp
"C:\Program Files\Java\jdk1.8.0_25\bin\wsimport" -keep http://localhost:9999/ws/hello?wsdl

【讨论】:

  • 感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-27
  • 2017-02-05
  • 2019-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多