使用Myeclipse 8.5开发基于JAX-WS的Web service实例

使用Myeclipse 8.5开发基于JAX-WS的Web service实例  
本文为Web service 开发入门篇,主要介绍在Myeclipse 8.5环境下开发Web service的服务程序和客户端程序的基本流程。  
在Weblogic 10.3.4 中部署Web service服务。   
开发环境如下:  
JAVA IDE: Myeclipse 8.5 

开发Web service服务程序,需要了解以下相关内容, WSDL, SOAP, XML。这些是组成Web service 的基础。   
在Myeclipse8.5下开发Web service程序,目前系统支持的开发框架有3个,
JAX-WS,REST(JAX-RS),XFire。其中系统建议不要使用XFire 的框架,可能是要被淘汰了(deprecated)。我们选择的是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 5.0。
Finish完成项目新建。

2. 新建一个 Java Bean, 就是一个普通的Class, File –> New -> Class,

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 服务

Tomcat 6.0上部署,需要加上JAX-WS API / Runtime 两个库,否则会报错,------------>jar包在网盘JAX-WS2.1.2目录下

严重: Error configuring application listener of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)

启动Tomcat 服务,在浏览器输入 http://localhost:8080/myWebSvc/SayHelloPort?wsdl,如果显示正确,则服务发布成功。

(三) Web service 客户端开发

1. 新建 Java project, File -> New -> Java Project

输入项目名 UseWS, Finish 结束新建。

2. 新建Web service client程序, File –> New -> Other -> MyEclipse -> Web Services -> Web Service Client,

Next 进入下一步

WSDL File 为Web Service 的WSDL文件
E:\workspace\myWebSvc\WebRoot\WEB-INF\wsdl\SayHelloService.wsdl 

或者 http://localhost:8080/myWebSvc/SayHelloPort?wsdl

Next进入下一步,

Finish 结束新建。

3. 新建一个Test类,用来调用 SayHelloService, File -> New -> Class,

Finish 结束类的新建。

修改类如下:

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); 
} 
} 

  

Haha, World, O.K. !

 

posted @ 2015-06-10 18:36  同心圆gt  阅读(276)  评论(0编辑  收藏  举报