Java WebService 简单小实例

WebService到底是什么?

Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。


一、准备工作(以下为本实例使用工具)

1、MyEclipse10.7.1

2、JDK 1.6.0_22

 

二、创建服务端

1、创建【Web Service Project】,命名为【TheService】。


Java WebService 简单小实例
 
Java WebService 简单小实例
 

 

2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。


Java WebService 简单小实例
 
Java WebService 简单小实例
 

 

3、编写供客户端调用的方法,即编译方法代码。


Java WebService 简单小实例
 

 

4、进行编译

说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版或更高版本


Java WebService 简单小实例
 
Java WebService 简单小实例
 

 

5、测试结果

测试地址:http://localhost:9001/Service/ServiceHello?wsdl


Java WebService 简单小实例
 

 

三、生成客户端

1、创建【Web Service Project】,命名为【TheClient】。


Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 

 

2、命令提示窗口执行生成命令。

格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址”

示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

说明:

1)"src目录"地址不可含空格

2)“wsdl发布地址”不要漏了“?wsdl


Java WebService 简单小实例
 

 

3、刷新项目,检查生成类


Java WebService 简单小实例
 
Java WebService 简单小实例
 
 

 

四、最终测试

1、创建【Class】类,命名为【ServiceTest】,位于【com.hyan.test】包下。


Java WebService 简单小实例

Java WebService 简单小实例
  
Java WebService 简单小实例
 

 

2、编写测试方法,调用服务端方法,并打印返回的结果。


Java WebService 简单小实例
 
Java WebService 简单小实例
 

 

五、注意事项

1、JDK版本过低问题

报类似如下的异常:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?


Java WebService 简单小实例
 

原因:JDK版本低于1.6.0_17

解决方法:调整该服务端项目所引用的JDK版本为安装的高版本JDK


Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 
Java WebService 简单小实例
 

 

2、生成命令路径含空格问题

报类似如下的异常:directory not found: G:\SVN_FILE\GB\05


Java WebService 简单小实例
 

原因:客户端src路径不可含有空格

解决方法:在不含空格路径的文件夹下重新创建客户端即可。

 

3、生成命令不完整问题

报类似如下的异常:[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s):


Java WebService 简单小实例