当前位置: 代码迷 >> Eclipse >> eclipse3.3中运用CXF开发HelloWorld程序
  详细解决方案

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

热度:69   发布时间:2016-04-23 02:22:38.0
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翻译而来。



1 楼 jssy 2008-01-28  
产生WSDL时报错
could not find the main class. Program wil exit.
2 楼 im9527 2008-02-01  
产生WSDL时报错
could not find the main class. Program wil exit.
我也是
3 楼 im9527 2008-02-01  
用这个就好了
apache-cxf-2.0.4-incubator-SNAPSHOT
4 楼 yinxuchina 2008-02-21  
我的可以运行
5 楼 qkjava 2008-02-21  
Classpath entry KIT_ROOT_DIR/lib/ant-1.6.5.jar will not be exported or published. Runtime ClassNotFoundExceptions may result.  java-first P/java-first 1203478422312 25
有没有遇到上面的错误的
6 楼 qkjava 2008-02-21  
要用CXF2.1的包!
7 楼 zhangcheng 2008-02-25  
flash59 写道
开发环境的配置:
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翻译而来。





在“一、在eclipse中添加tomcat服务器”中的“4、选择 Use Tomcat installation (takes control of Tomcat installation)并在Deploy path处,把wtpwebapps更改为webapps目录。”能不能详细说明一下,我的部署时一直有问题。
8 楼 yyf365 2008-08-18  
jssy 写道
产生WSDL时报错
could not find the main class. Program wil exit.

我也是同样的问题,谁能解答一下这个。。。。。

我的是CXF2.0.4 JDK1.5 U5(最新版本的6u7我也试过,没用)

myeclipse6.0
9 楼 jackymin 2008-09-18  
现在解决了么?我今天尝试CXF时 ,cxf2.0和 cxf2.1都试过了 ,同样的错误
could not find the main class. Program wil exit.,有人解决了请给我发个消息,谢谢了
  相关解决方案