一个java生成与使用WebService的简单例子

java用Metro生成WebService,在Tomcat中发布WebService和如何使用WebService

一个简单的例子:

 

下载metro,并安装。(本例使用1.5)
http://java.net/projects/metro
下载完metro-1.5.jar的包后,运行java -jar metro-1.5.jar
在metro.jar所在的目录下面会生成一个metro文件夹,里面包含了我们要使用的包等。

导包:如下5个包。
/metro1_5Core/webservices-api.jar   
/metro/webservices-extra.jar
/metro/webservices-extra-api.jar
/metro/webservices-rt.jar
/metro/webservices-tools.jar
(可以将该包复制到Tomcat的servers/lib下面,保证webservice的不出错)

 

实体类:User

写要发布的WebService。
如用户服务类UserService,可以根据用户ID得到用户对象

注:
 serviceName不写,默认为类名+Service,如UserServiceImplService
 name不写,默认为类名,如UserServiceImpl
 portName不写,默认为类名+Port,如UserServiceImplPort
 targetNamespace不写默认为包名,如(http://ws.me.you.com


配置:web.xml
在web.xml中添加如下语句。

注:
 url-pattern:为你需要listener监听的访问地址。

 

配置sun-jaxws.xml
在WEB-INF中新建sun-jaxws.xml文件。

注:
 如果有多个WebService,写多个endpoint即可。
 implementation:WebService类
 url-pattern:访问的地址,要输入web.xml中url-pattern的范围内。
 name:随便写

 

然后把工程部署到Tomcat中去。
访问如下地址可以查看相应的WebService信息:
http://localhost:8116/youme/ws/a
http://localhost:8116/youme/ws/a?wsdl

 

使用wsimport生成WebService代码

然后在cmd中输入:wsimport命令生成webService相关代码。
C:/Users/you.me>wsimport -s d://temp http://localhost:8116/youme/ws/a?wsdl
出现如下语句表示成功。
parsing WSDL...
generating code...
compiling code...


此时在D:/temp下面可以看到一些java类:
D:/temp/com/mylitboy/youme
GetUserById.java
GetUserByIdResponse.java
ObjectFactory.java
User.java
UserService.java
UserServiceWS.java


如此服务器端WebService算是完成了。


下面开始使用生成的WebService。

我们可以把这些java类打包成一个jar文件。也可以直接复制到其他工程中使用。

使用方法:
将该文件夹复制到新建的工程中(即你要用WebService的工程)。
/youmews_test/com/mylitboy/youme/GetUserById.java
/youmews_test/com/mylitboy/youme/GetUserByIdResponse.java
......


写测试代码:
Test.java

注:

 这里面的UserService 就是前面@WebService里面的name属性值。

 UserServiceWS就是@WebService里面的serviceName属性值。

 
如此整个过程就完成了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值