gpt4 book ai didi

wsdl - 使用本地 WSDL 文件生成 Metro 客户端

转载 作者:行者123 更新时间:2023-12-04 13:54:40 25 4
gpt4 key购买 nike

我之前使用 wsimport 生成了一个 Metro 客户端,但在这种情况下,WSDL 是通过 https 访问的。我的命令看起来像这样:

wsimport https://service.net/services/Service?wsdl -d C:\ClientProject\src\main\java -keep

一切正常。现在我正在尝试生成一个客户端,但是,我只有 WSDL 文件的本地副本。我的项目目录是这样设置的(在 c:\Devel 中):
ClientProject
|- src
|- main
|- java
|- resources
|- META-INF
|- service.wsdl
|- wsimport.bat

wsimport.bat 文件如下所示:
wsimport -keep -d ../src/main/java -wsdlLocation ../src/resources/META-INF/service.wsdl

它基于 Metro Guide 示例,但没有 -p 选项(http://metro.java.net/guide/Developing_client_application_with_locally_packaged_WSDL.html)。但是,当我运行 bat 文件时,我得到了打印到控制台的命令的无限循环。例如。
C:\Devel\ClientProject>wsimport -keep -d ../src/main/java -wsdlLocation ../src/resources/META-INF/service.wsdl

有人可以指出我做错了什么吗?

更新

我试过使用绝对路径(并重新排列参数顺序无济于事。我仍然得到无尽的命令控制台打印:
wsimport C:\Devel\ClientProject\src\resources\META-INF\service.wsdl -d C:\Devel\ClientProject\src\main\java -keep

最佳答案

http://www.java.net/forum/topic/glassfish/metro-and-jaxb/problems-generating-client-using-local-wsdl-file#comment-812705

如果使用 .bat 文件运行 wsimport 命令,请不要将其命名为 wsimport,否则您将陷入调用该文件的无限递归循环中。

此外,“-wsdllocation”区分大小写。 “-wsdlLocation”将不起作用(尽管我在搜索过程中看到了很多这样的例子)。

这个 wsimport 命令从本地 WSDL 生成客户端代码,并在 Service 类的 @WebServiceClient 注释上设置“wsdlLocation”属性:

wsimport src/resources/META-INF/service.wsdl -keep -d src/main/java -wsdllocation META-INF/service.wsdl

关于wsdl - 使用本地 WSDL 文件生成 Metro 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com