eclipse3.3中使用CXF开发HelloWorld程序

开发环境的配置:
1、下载并安装eclipse3.3或更高版本 下载eclipse3.3
2、下载扩展插件来更新eclipse3.3  下载all-in-one package
3、下载Apache CXF binary distribution 2.0.3
4、更新完毕后打开ECLIPSE,依次点:Windows/Preferences/SOA Tools/Installed Runtimes,打开配置页面,点add按钮,浏览你的安装有Apache CXF的文件路径,点OK。
5、配置环境结束,在eclipse中应该能看到SOA的菜单项,在右键菜单中可发现:JAS_WS Toos的选项,说明安装成功。
使用开发环境创建helloworld程序:
一、在eclipse中添加tomcat服务器
1、点Window/Show View/Other.../Server/Servers打开server view
2、在server view中右键然后选择New/Server/Apache/Tomcat v5.5 Server
3、现在,server view中出现了tomcat server ,双击打开配置部分。
4、选择 Use Tomcat installation (takes control of Tomcat installation)并在Deploy path处,把wtpwebapps更改为webapps目录。
5、在Navigator View中将出现Servers项目,打开文件catalina.properties,把(CXF_Install_Location)/lib/*.jar的路径加入shared.loader下面。
6、添加服务器结束
二、创建一个项目(java first Not Recommended)
1、选择File/New/Other/SOA Tools/JAX-WS Java First Project
2、为你的服务创建一个接口HelloWorld 方法:String sayHi(String text);
3、标注你的服务,在Outline View右击class,选择JAX-WS Tools/Create Web Service,同样右击方法, 选择JAX-WS Tools/Create Web Method
4、保存你的接口文件,点击出现在你接口名称上面的@WebService, 出现Annotation Properties窗口。
5、在Annotation Properties窗口中找到javax.jws.soap.SOAPBinding,由false改为true,打开这个节点,把style的值改为document
6、再次保存文件,一个wsdl文档会出现在wsdl文件夹中,选中这个文档,右击选择JAX-WS Tools/Generate Code 点OK。生成客户端和服务器端代码及实现。
7、在项目中找到HelloWorldImpl.java打开,写入服务真正要实现的功能,保存。
8、找到刚才生成的wsdl 文档,右击选择Build Package...将生成build文件夹。
9、再次右击wsdl文档,选择Deploy...,在打开的窗口中,选则刚才生成的tomcat 服务器,点OK。
10、在Server View中启动tomcat,访问http://<your server>:<port>/<deployment name>/services,你可以看到wsdl文档。


以后的事情就是
1、把HelloWorldService.java里的所有wsdlLocation变量的值改为"http://xxxx.com:prot/your project name/services/HelloWorld?wsdl".这样才可以真正访问到部署在tomcat里的服务。
2、修改自动生成的客户端程序里main方法的参数,并给url赋值,运行客户端程序,就可以看到输出啦。


注意:如果出现异常:
Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'http://localhost:8080/HelloWorld/services/HelloWorld?wsdl'.: java.io.FileNotFoundException: http://localhost:8080/HelloWorld/services/HelloWorld?wsdl
。。。。

请关闭防火墙或杀毒软件的防护功能,再试。


此文由作者flash59在http://cwiki.apache.org/CXF20DOC/cxfeclipseplugininstructions.html翻译而来。



你可能感兴趣的:(apache,eclipse,tomcat,webservice,SOA)