开发环境如下:
JAVA IDE: Myeclipse 10
Web server:tomcate7
开发Web service服务程序,需要了解以下相关内容, WSDL, SOAP, XML。这些是组成Web service 的基础。
在Myeclipse8.5下开发Web service程序,目前系统支持的开发框架有2个,JAX-WS,REST(JAX-RS)。我们选择的是JAX-WS框架。
这个需要Java EE 5.0的支持。所以后面选择Web server容器的时候,是要能支持Java EE 5.0的才可以部署成功。
(一)创建 Web service服务端开发
1. 新建一个Web service project, 菜单File -> New -> Web Service Project,在上面的框中输入项目名myWebSvc,框架选择
JAX-WS, J2EE选择Java EE 6.0,Finish完成项目新建。

2. 新建一个 Java Bean, 就是一个普通的Class, File –> New -> Class,包名输入 com.myweb.ws, 类名输入 SayHello,
Finish 结束新建类。
public class SayHello {
public String sayHaha(String request)
{
return "Haha, " + request + ", O.K. !";
}
}

3. 新建一个Web service, 菜单File –> New -> Other -> MyEclipse -> Web Services -> Web Service,Next 进入下一步
,选择 Create web service from java class(Bottom-up scenario),Next进入下一步,

Java class 输入 com.myweb.ws.SayHello, 选中 Generate WSDL in project 选项, Finish 结束新建。

生成新的服务代理类, com.myweb.ws.SayHelloDelegation
生成WSDL定义文件,WebRoot\WEB-INF\wsdl\SayHelloService.wsdl
WebRoot\WEB-INF\wsdl\SayHelloService_Schema1.xsd
,
二、发布Web service 服务
1.在TOMCATE主页下载TOMCATE,并在环境变量中配置系统变量,新建CATALINA_HOME=C:\apache-tomcat-7.0.63

输入http://localhost:8080/ 便可验证TOMCATE配置是否成功
2.右键单击project---build path----add library-myeclipse libraries导入以下两个包


3.Window -> Show View -> Servers,在TOMCATE点右键, 选择Add Deployment 部署myWebSvc


4.在浏览器中输入http://localhost:8080/myWebSvc/SayHelloPort

ps:在web.xml中有如下类容,可看出这个/SayHelloPort的作用

(三) 创建客户端调用(Web service 客户端开发 )
1. 新建 Java project, File -> New -> Java Project----输入项目名 UseWS
2. 新建Web service client程序, File –> New -> Other -> MyEclipse -> Web Services -> Web Service Client,Next 进入下一步;
WSDL File 为Web Service 的WSDL文件:F:\23 JAVA\md2\myWebSvc\WebRoot\WEB-INF\wsdl\SayHelloService.wsdl
Next进入下一步,Finish 结束新建。

3.新建一个Test类,用来调用 SayHelloService, File -> New -> Class,name:Test
import com.myweb.ws.SayHelloService;
public class Test {
public static void main(String[] args)
{
String request = "World";
String response = null;
SayHelloService sayHelloSvc = new SayHelloService();
SayHelloDelegate sayHelloDgt = sayHelloSvc.getSayHelloPort();
response = sayHelloDgt.sayHaha(request);
System.out.println(response);
}
}
CTRL+F11成功显示结果
Haha, World, O.K. !
浙公网安备 33010602011771号