eclipse3.3+CXF2.1+STP配置webservice开发环境
为了方便开发者和自己学习,本人转载了关于webservice的环境配置,供工作需要,废话省略,进入正题。。。。。
1、tools
工欲善其事,当然是先找工具了
STP all_in_one(以下简称stp)
这里推荐安装all_in_one(此安装文件已经包含必要的插件)
http://download.eclipse.org/stp/downloads/
相关的Pre-requisites SOA runtime
Apache CXF (一定要是2.1版本的) (必要)
http://people.apache.org/repo/m2-snapshot-repository/org/apache/cxf/apache-cxf/
如果在生成WSDL时,出现找不到main的情况,是由于没有下载到正确的cxf运行环境
Apache Tuscany SCA Java (下载最新的apache-tuscany-sca-1.0-incubating.zip )
http://archive.apache.org/dist/incubator/tuscany/java/sca/1.0-incubating/
需要的tool就齐了
2、开始安装
eclipse 3.3安装非常简单,指定目录 解压缩就可以
STP all in one 是eclipse的插件,推荐采用link方式安装,具体请搜索网络,一大堆
简单说明下安装:
1)解压缩stp all in one,注意插件内文件名较长,如果解压缩的目录过长,如D:\My Documents\第四版本资料\使用links方式安装Eclipse插件\Struts2+Spring+Hibernate In Action(这样的目录是不行的),那么部分插件不能被解压缩,目录层次要少。将 stp解压缩到e:\stp
2)加入eclipse在e:\eclipse安装,在e:\eclipse下建立目录links,在links目录下建立文件AllInOne.link。用记事本打开,输入内容:path=e:\\stp
这里的e:\\stp 就是stp all in one的安装目录
3)用命令行方式运行eclipse(直接打开eclipse也可以,某些情况下,可能出现看不到新安装的插件)
cmd
e:\eclipse\eclipse -clean
启动eclipse
4) 打开eclipse后,在菜单栏,windows-->preference-->soa tools 如下图,说明插件安装成功
3、配置
1)把CXF2.1 sca1.0解压缩,目录分别为
d:\cxf2.1,d:\sca1.0
2) 选择上图中 Installed Runtimes
如下图
环境配置成功
4、开始测试环境是否能够开发webservice并简单演示自动生成wsdl的过程
1)新建立java project
project name: demo
/**
* 创建接口,将业务方法暴露给远程调用者
* @author 赵永亮
*
*/
package org.zhaoyl.webservice;
public interface Hello
{
public String sayHello();
}
2) 右键项目名称(demo),选择JAX-WX Tools -->enable JAX-WX-->java first programing mode
如下图
选择运行cxf环境(在配置里面已经安装了)
下一步
如图
选择Hello接口
完成
此时Hello.java内容如下:
package org.zhaoyl.webservice;
import javax.jws.WebService;
/**
* 创建接口,将业务方法暴露给远程调用者
* @author 赵永亮
*
*/
@WebService(name="Hello", targetNamespace="http://webservice.zhaoyl.org/")
public interface Hello {
public String sayHello();
}
3)在eclipse中调出 Annotation properties视图,增加并设置@WebService注释
在Hello.java文件中选择@webservice部分(鼠标定位在该部分就可以了)->在下面的Annotation Properties中选中javax.jws.soap.SOAPBinding,将缺省的false修改成true;将SOAPBinding展开,将其中的Style属性从RPC修改成DOCUMENT(注意是大写)。
此时Hello.java内容如下:
package org.zhaoyl.webservice;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
/**
* 创建接口,将业务方法暴露给远程调用者
* @author 赵永亮
*
*/
@SOAPBinding(use=SOAPBinding.Use.LITERAL, style=SOAPBinding.Style.DOCUMENT)
@WebService(name="Hello", targetNamespace="http://webservice.zhaoyl.org/")
public interface Hello {
public String sayHello();
}
4)在outline视图,选择sayHello(),右键,JAX-WX tools--〉create web method
此时,Hello.java内容如下:
package org.zhaoyl.webservice;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import javax.jws.WebMethod;
/**
* 创建接口,将业务方法暴露给远程调用者
* @author 赵永亮
*
*/
@SOAPBinding(use=SOAPBinding.Use.LITERAL, style=SOAPBinding.Style.DOCUMENT)
@WebService(name="Hello", targetNamespace="http://webservice.zhaoyl.org/")
public interface Hello {
@WebMethod(operationname="sayHello", exclude=false)
@ResponseWrapper(classname="org.zhaoyl.webservice.SayHelloResponse", localname="sayHelloResponse", targetNamespace="http://webservice.zhaoyl.org/")
@RequestWrapper(classname="org.zhaoyl.webservice.SayHello", localname="sayHello", targetNamespace="http://webservice.zhaoyl.org/")
public String sayHello();
}
5)右键项目名称(demo),JAX-WX Tools -->Generate wsdl
呵呵,自动生成了wsdl
目录结构图如下:
总结:此时,能够正确自动生成WSDL文件了,至于如何调用等等问题,还有待于学习
个人平时很少写作,以至于文字错误较多,语句不通顺之处,请多体谅
太郁闷了 ,怎么不能贴图,只好把QQ仍到上面了:252574345
注:转载地址有新手视频可下载