天天看点

JAX-WS生成服务端与客户端的两条命令

    在服务端生成wsdl目录

首先进入dos命令窗口,定位到项目根目录,如:

C:\Users\wanzheny\workspace\baidumap

执行命令行:

wsgen -cp C:\Users\wanzheny\workspace\baidumap\WebContent\WEB-INF\classes com.ws.impl.Hello -wsdl -s src -r wsdl
           

解释:

-cp后跟的是项目的classes路径以及要生成ws的类全路径,如果该目录找不到,参考我的前一篇文章。

Eclipse下无法自动编译,或者WEB-INF/classes目录下没文件,编译失败的解决办法

-s:后面跟上source folder,即源文件路径。

-d  指定生成的class文件的位置。

-r  指定生成的resources文件的位置。如WSDL、XSD 的位置。该路径需要自己手动创建。

-wsdl  -servicename,-portname 三个参数指定生成的 WSDL 文件中的 service 和 port 的名称。 注意:这里的SEI是一个 endpoint implementation class,而不是一个接口。必须先写好一个endpoint的实现类,该类中用@WebService声明好WebService,再将它编译成class文件,才能提供给wsgen使用。

   在客户端导入服务端辅助代码

Usage:wsimport [options] <WSDL_URI> 主要选项:

同样先到dos命令下,定位到客户端所在的跟路径下,如:

C:\Users\wanzheny\ws3\client

执行命令:

wsimport -keep http://localhost:8080/baidumap/HelloService?wsdl -d src
           

解释:

-keep 后面跟上wsdl的访问路径。

-d 指定生成的 class 文件的位置,一般放置到src目录下。

-s指定生成的 Javasource 文件的位置。

 -wsdllocation指定生成的Java source中@WebService.WSDLLocation和 @WebServiceClient. wsdllocation的值

继续阅读