当前位置: 首页 > ds >正文

java 访问cxf_java cxf 发布和访问

cxf也是java的webservice,而且比axis2强大的太多(上一篇文章,就是整理axis,哎呀,那个被整的纠结啊),今天看到了cxf,果断放弃axis!

1.首先,下载cxf

2.新建web项目

写个接口和实现类

接口

@WebService

public interface IReaderService {

public Reader getReader(@WebParam(name="name")String name,@WebParam(name="password")String password);

public List getReaders();

}

实现类

@WebService(endpointInterface="com.zy.service.IReaderService",serviceName="readerService")

public class ReaderServiceImp implements IReaderService{

@Override

public Reader getReader(@WebParam(name="name")String name,@WebParam(name="password")String password) {

return new Reader(name,password);

}

@Override

public List getReaders() {

List l = new ArrayList();

l.add(new Reader("mike01","123"));

l.add(new Reader("mike02","123"));

return null;

}

}

实体类

public class Reader{

private static final long serialVersionUID = 1L;

public Reader(){}

private String name;

private String password;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public Reader(String name, String password) {

super();

this.name = name;

this.password = password;

}

public String toString(){

return "Name:"+name+",Password:"+password;

}

}

3.测试部署是否成功

CXF自带了一个轻量的容器服务,相当于spring自己提供了IOC容器一样。我们可以先用它来测试一下我们部署成功没。

System.out.println("Service starting!");

ReaderServiceImp readerService = new ReaderServiceImp();

Endpoint.publish("http://localhost:8080/readerService",readerService);

System.out.println("Service started!");

7778da9ae7e0d28441a8043e1704ea53.png

我们看到启动已经完成,接着启动浏览器看看是否成功了。直接在浏览器输入http://localhost:8080/readerService?wsdl,我们可以看到:

8377a083e33f30e4f50ddb40ea38a712.png

4.访问服务

fe2bb4a8be738e115c0eb4aacbd9ac31.png

ok,到这里,cxf的发布和访问都实现了。

但是,这样是可以实现效果,可我们在大部分情况,是希望发布和访问是在同一个系统的,那我们该如何解决呢?

http://www.xdnf.cn/news/11359.html

相关文章:

  • Apache的防盗链配置及详解
  • CVE-2010-3654分析及利用
  • 110个常用的jquery特效和插件
  • 监控摄像头参数详细介绍
  • 浅谈光耦的作用和工作原理
  • 机械制图手册_机械制图基本知识大全!
  • 微信小程序checkbox的排列方向
  • glPushMatrix/glPopMatrix简介及示例(在不同位置绘制图形)
  • 简单邮件传输协议(SMTP)
  • 【apache-tomcat安装配置】完整教程(保姆级)
  • MapX学习基本教程
  • 内存错误的原因和解决方法
  • Linux命令集(Linux文件管理命令--rm指令篇)
  • Android 开发环境搭建的步骤
  • 2024年最全Android修改PackageInstaller自动安装指定应用(3),面试被说跳槽频繁
  • 戴尔服务器安装windows server 2016提示:安装无法找到install.wim 错误代码0x80070026
  • 自动生成--Delphi多层数据库应用项目源代码
  • Delphi入门教程
  • 【Libra 技术解读】详解LibraBFT共识机制
  • Android Path菜单的简单实现
  • C#论坛
  • 数学之美:杨辉三角(帕斯卡三角)的奇特性质
  • 基于C语言的学生信息管理系统开发
  • JSP基于ssm的毕业论文管理系统rz7q5--(程序+源码+数据库+调试部署+开发环境)
  • 粉碎城堡链游Castle Crush,必看全新评测与攻略
  • a标签中href调用js的几种方法,程序员进阶
  • RIP路由协议详解
  • GBK编码表
  • GB2312/GBK/GB18030/BIG5 的历史
  • Vue中使用js-audio-recorder插件实现录音功能并实现上传Blob数据到SpringBoot后台接口