基于CXF的WebService服务

基于CXF的WebService服务,第1张

CXF是Apache的一个开源框架,使用它可以发布一个类服务,其他应用程序可以调用接口,以下是我搭建webservice服务的步骤,主要是与spring整合搭建,用的是cxf 3.x和spring 4.x。

这里需要说明的一点是cxf-core包在2.x版本中命名为cxf-rt-core,低版本的spring用的都是cxf-rt-core,刚开始我引的包也是这个,maven库中维护到2.7版之后这个包就以cxf-core的命名开始3.x的版本维护,由于与其他包的版本冲突造成服务一直搭不起来,浪费了很多时间。

引入cxf.jaxws jar包

webservice的调用,常用的大约有3种方式:

1、使用axis调用

2、使用xfire调用

3、使用cxf调用

项目中,采用axis进行调用,记录如下,备忘:

ps教程:想当年的时候是用的xfire方式调用的,结果没做记录,现在已经完全记不得怎么玩了。所以说要多写博客啊 t_t

版本说明:

aixs版本:axis-bin-1_4.zip

java环境略

第一步:确保wsdl文件可用,文中为获取到sendsmsservice.wsdl,当然url的也行。

第二步:执行生成客户端代码的脚本。脚本内容为:

set axis_lib=d:axis-1_4lib

set java_cmd=java -djava.ext.dirs=%axis_lib%

set output_path=.

set package=info.jyzh.wap.liaoning.push

%java_cmd% org.apache.axis.wsdl.wsdl2java sendsmsservice.wsdl -o%output_path% -p%package% -t

#查看wsdl2java的使用帮助#%java_cmd% org.apache.axis.wsdl.wsdl2java -help

ok,至此,客户端代码就生成出来了。还带了一个单元测试哦。

1.创建一个Dynamic Web project,名为HelloWorld

2.在src中新建package,包名为net.kentop.ws

3.在net.kentop.ws包中新建class,类名为HelloWorld

4.修改HelloWorld.java文件如下

[java] view plaincopy

package net.kentop.ws

public class HelloWorld {

public String sayHello(String name) {

return "Hello " + name

}

}

5.为HelloWorld项目创建Server,并启动Server

6.为HelloWorld.java文件创建WebService

7.测试webservice

点击Operations Name为sayHello的链接

在文本框中输入数据,点击“GO”按钮

下方会显示如下信息,表示测试成功

8.创建名为servicemix-cxf-bc-demo的Maven Project项目根目录

9.在根项目下创建名为cxf-bc-su-demo的servicemix-cxf-bc-service-unit

10.将HelloWorld项目下WebContent/wsdl/HelloWorld.wsdl文件拷贝到cxf-bc-su-demo/resources目录下,并将service.wsdl删除

11.将HelloWorld.wsdl如下代码

[xhtml] view plaincopy


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11743779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存