好久之前玩过的东西,昨天应一个哥们要去,给他做一个服务,只好想了又想,因为自己对java一知半解,只停留在照猫画虎的层次,不过运气还好,加上以前碰到过很多挫折,所以配的还算顺利。在csdn进行记录,以免忘记。
顺序:
一 准备
1 Eclipse3.4
2 JDK1.5
3 Tomcat 6
4 tomcat plugin v3.2.1
5 cxf开发包 2.2.5
二 配置环境
1 安装jdk
2 copy eclipse && tomcat6 && cxf 到自己想放它们的地方(eclispe不需要安装,tomcat从6开始也不需要install)
3 配置环境变量如下:
参考
set CXF_HOME=C:/cxf2.1
set JAVA_HOME=C:/Java/jdk1.5.0_09
set PATH=%JAVA_HOME%/bin;%CXF_HOME%/bin;%PATH%
set CLASSPATH=.;%CXF_HOME%/lib/cxf-manifest.jar;./build/classes
4. 解压缩tomcat plugin v3.2.1到Eclipse的plugin目录下
三 开发过程
关于开发过程,Apache和IBM官方有很详细的文档,
eg:http://www.ibm.com/developerworks/cn/webservices/ws-pojo-springcxf/。
我这里只针对过程中可能遇到的一个问题进行总结。(之后会附上可行的源代码)
1 Eclispe下new个新的普通java工程就可以,但是myeclipse下好像只能在建立在web项目中
2 暴露服务有两种方式jaxws:Endpoint和jaxws:Server两种方式,网上有很详细的解释它们的区分,你可以任选一种
3 有的时候,eclipse会提示找不到Endpoint的说明,没有问题,go on
4 你要部署一个项目到tomcat, 要写一个xml到tomcat目录去:
参考:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="E:/自己-CODE/JavaCode/Eclipse34_workspace/你的项目名称,一定要正确,大小写匹配"/>
建议:目录最好用英文,否则有时候用不同编辑的时候,会出现二进制无法读取现象,比如上面的“自己”用记事本程序写入后,
Eclipse在执行时有时会出错的,如果你用Eclipse打开会发现这个记事本打开能看的“自己”由于编码问题可能在eclipse中不能
正常显示,需要修改。
5 接口和类加@WebService后会暴露接口,你也可以选择性暴露。
6 附上一个可行的代码参考:
【1】类接口(函数名字随便起的,和参数没有任何关系)
package ws.cxf;
import javax.jws.WebService;
@WebService
public interface IAuthenService
{
public String ClientService(String footname,int