sdo*_*oca 6 wsdl java-metro-framework wsimport
我之前使用wsimport生成了一个Metro客户端,但在这种情况下,WSDL是通过https访问的.我的命运看起来像这样:
wsimport https://service.net/services/Service?wsdl -d C:\ClientProject\src\main\java -keep
Run Code Online (Sandbox Code Playgroud)
一切都很好.现在我正在尝试生成一个客户端,但是,我只有一个WSDL文件的本地副本.我的项目目录设置如下(在c:\ Devel中):
ClientProject
|- src
|- main
|- java
|- resources
|- META-INF
|- service.wsdl
|- wsimport.bat
Run Code Online (Sandbox Code Playgroud)
wsimport.bat文件如下所示:
wsimport -keep -d ../src/main/java -wsdlLocation ../src/resources/META-INF/service.wsdl
Run Code Online (Sandbox Code Playgroud)
它基于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
Run Code Online (Sandbox Code Playgroud)
有人可以指出我做错了什么吗?
UPDATE
我尝试使用绝对路径(并重新排列参数顺序无济于事.我仍然得到无尽的命令控制台打印:
wsimport C:\Devel\ClientProject\src\resources\META-INF\service.wsdl -d C:\Devel\ClientProject\src\main\java -keep
Run Code Online (Sandbox Code Playgroud)
如果使用.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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22944 次 |
| 最近记录: |