高效搭建Cxf WebService的完整指南

更新:11-12 现代故事 我要投稿 纠错 投诉

这篇文章给大家聊聊关于高效搭建Cxf WebService的完整指南,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

1.首先搭建服务器

这里的服务器主要包括两个类,一个是接口类,一个是实现类。

Hello.java的具体代码如下:

导入javax.jws.WebMethod;

导入javax.jws.WebParam;

导入javax.jws.WebService;

@WebService

公共接口你好{

@WebMethod

public String sayHello(@WebParam(name="name") String name);

}

代码很简单,只有一个方法sayHello。

实现类HelloImpl.java如下:

导入javax.jws.WebService;

导入com.lml.ws.service.Hello;

@WebService(endpointInterface="com.lml.ws.service.Hello")

公共类HelloImpl 实现Hello {

公共字符串sayHello(字符串名称){

返回姓名+"打个招呼!";

}

}

主要是Hello接口的实现。

因为使用spring进行管理,所以这里需要配置applicationContext。 applicationContext.xml的具体代码如下:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:jaxws="http://cxf.apache.org/jaxws"

xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"

实现者="com.lml.ws.service.Impl.HelloImpl"

地址="/HelloService"/

因为我使用的是spring和cxf,所以我先导入相关的jar包。我导入的jar包如下:

具体jar包及项目下载地址:http://download.csdn.net/detail/l540151663/8036439

最后在web.xml下设置拦截器:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

上下文配置位置

类路径:applicationContext.xml

org.springframework.web.context.ContextLoaderListener

CXFServlet

org.apache.cxf.transport.servlet.CXFServlet

1

CXFServlet

/*

至此,服务器就搭建完成了。

2. 构建客户端WebClient

建立java项目后,将相关jar包导入到项目中,如下:

将服务器放入容器tomcat中,然后打开,使用url访问页面http://localhost:8080/WebService/HelloService?wsdl

访问内容如下:

将页面保存为HelloService.xml。这里注意,xml文件没有样式。

因为我们需要引用服务器端的Hello实例,所以这里需要做一些处理。使用wsdl2java 生成客户端代码。这里需要一个包apache-cxf-3.0.1。解压后在C:UsersAdministratorDesktopapache-cxf-3.0.1apache-cxf-3.0.1bin下有一个wsdl2java文件。打开cmd,进入bin目录,执行命令:C:UsersAdministratorDesktopapache-cxf-3.0.1apache-cxf-3.0.1binwsdl2java -

p com.lml.ws.client -d d:workspaceWebClientsrc -verbose "C:UsersAdministrat

或DesktopHelloService.xml"

针对上面的命令分析:

wsdl2java -p 包名-d 生成的文件路径-verbose "wsdl 文件路径"

包名:文件存放的包名,可以在项目中写包路径

生成文件路径: 文件存放路径,可以直接写项目路径

wsdl 文件:在IE 中执行服务器URL 上显示的XML,并将其保存为XML 文件。

执行后刷新WebClient项目,生成内容如下:

最后在客户端进行测试。 Test.java代码如下:

导入org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

导入com.lml.ws.client.Hello;

公开课测试{

公共静态无效主(字符串[] args){

//创建WebService客户端代理工厂

JaxWsProxyFactoryBean 工厂=new JaxWsProxyFactoryBean();

//注册WebService接口

工厂.setServiceClass(Hello.class);

//设置Web服务地址

factory.setAddress("http://localhost:8080/WebService/HelloService");

你好helloService=(Hello)factory.create();

System.out.println("消息上下文为:"+helloService.sayHello("lml"));

}

}

用户评论

颜洛殇

终于找到关于 CXF 的资料了,之前一直在找呢!

    有16位网友表示赞同!

风中摇曳着长发

想学习下 SOAP 服务,CXF 好像是个不错的框架。

    有19位网友表示赞同!

余温散尽ぺ

自己也遇到过类似问题,这篇文档肯定能帮到我!

    有19位网友表示赞同!

夜晟洛

这篇文章写的挺详细的,看得懂!

    有12位网友表示赞同!

笑傲苍穹

之前用过了 CXF ,搭建起来真的不复杂!

    有10位网友表示赞同!

爱你心口难开

需要用到 XML 技术才能使用 CXF 么?

    有18位网友表示赞同!

非想

分享一下自己的经验吧,也让大家多多交流学习~

    有16位网友表示赞同!

鹿叹

想了解下 CXF 的性能怎么样?

    有11位网友表示赞同!

眷恋

有没有其他框架更适合搭建 webservicec ,或者 CXF 有什么缺点?

    有16位网友表示赞同!

旧爱剩女

这篇文章应该能帮助我快速上手 CXF 吧!

    有16位网友表示赞同!

柠夏初开

对于入门者来说,CXF 比较容易学习吗?

    有7位网友表示赞同!

一生荒唐

感觉这种方式的 WebService 比传统的更方便一些!

    有6位网友表示赞同!

怀念·最初

学习新技术永远是挑战自己啊!

    有9位网友表示赞同!

桃洛憬

不知道 CXF 的应用场景有哪些?可以举几个例子吗?

    有8位网友表示赞同!

旧事酒浓

现在大部分项目都开始用 RESTFul API 了嘛,CXF 还会被用到么?

    有20位网友表示赞同!

淡抹烟熏妆丶

学习完这篇文章后,我就可以自己搭建 webservice 了!

    有12位网友表示赞同!

秘密

这个框架看起来蛮强大啊,期待深入了解一下!

    有16位网友表示赞同!

仰望幸福

谢谢分享这种好用的工具!

    有13位网友表示赞同!

七夏i

希望能看到更多关于 CXF 的资料和教程!

    有13位网友表示赞同!

【高效搭建Cxf WebService的完整指南】相关文章:

1.动物故事精选:寓教于乐的儿童故事宝库

2.《寓教于乐:精选动物故事助力儿童成长》

3.探索动物旅行的奇幻冒险:专为儿童打造的童话故事

4.《趣味动物刷牙小故事》

5.探索坚韧之旅:小蜗牛的勇敢冒险

6.传统风味烤小猪,美食探索之旅

7.探索奇幻故事:大熊的精彩篇章

8.狮子与猫咪的奇妙邂逅:一场跨界的友谊故事

9.揭秘情感的力量:如何影响我们的生活与决策

10.跨越两岸:探索彼此的独特世界

上一篇:探索嫉妒他人的心理感受 下一篇:为何我选择单身:不是不想结婚,而是不愿与你步入婚姻殿堂