Generating Metro Client Using Local WSDL File

家住魔仙堡 提交于 2019-12-07 03:25:12

问题


I have generated a Metro client using wsimport before, but in that case the WSDL was accessed over https. My commaned looked like this:

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

and everything worked fine. Now I am trying to generate a client, however, I only have a local copy of the WSDL file. My project directory is set up like this (in c:\Devel):

ClientProject
  |- src
     |- main
        |- java
     |- resources
        |- META-INF
           |- service.wsdl
  |- wsimport.bat

The wsimport.bat file looks like this:

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

which was based on the Metro Guide example but without the -p option (http://metro.java.net/guide/Developing_client_application_with_locally_packaged_WSDL.html). However, when I run the bat file, I get an endless loop of of the command being printed to the console. E.g.

C:\Devel\ClientProject>wsimport -keep -d ../src/main/java -wsdlLocation ../src/resources/META-INF/service.wsdl

Can somebody point out what I'm doing wrong?

UPDATE

I have tried using absolute paths (and rearranging the param order to no avail. I still get the endless command console prints:

wsimport C:\Devel\ClientProject\src\resources\META-INF\service.wsdl -d C:\Devel\ClientProject\src\main\java -keep

回答1:


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

If using a .bat file to run the wsimport command, do not name it wsimport or you'll be in an endless recursive loop calling that file.

Also, "-wsdllocation" is case sensitive. "-wsdlLocation" will not work (although I've seen many examples of it during my searches).

This wsimport command generates the client code from the local WSDL and sets the "wsdlLocation" attribute on the Service class' @WebServiceClient annotation:

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


来源:https://stackoverflow.com/questions/5237027/generating-metro-client-using-local-wsdl-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!