Snowfun

导航

 

开发环境如下:
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 结束新建类。

package com.myweb.ws;

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.SayHelloDelegate; 
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. !

 
posted on 2015-07-29 15:09  Snowfun  阅读(310)  评论(0)    收藏  举报