webService cxf学习
1、首先去官网下载cxf包
http://archive.apache.org/dist/cxf/
记住要选.zip结尾 大概40兆的样子
2、把上边的包都放项目里。如果你用的jeecg框架,那它自带,不过少了一个jetty的包。记得在pom.xml中加入
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>${cxf.version}</version>
</dependency> 3、http://blog.csdn.net/oneGeng/article/details/5979442 这里面讲的很详细
第一步:新建一个webservice接口
- @WebService
- public interface IHelloWorld {
- //@WebParam给参数命名,提高可代码可读性。此项可选
- blic String sayHi(@WebParam(name="text") String text);
- }
通过注解@WebService申明为webservice接口
第二步,实现WebService接口
- @WebService
- public class HelloWorldImpl implements IHelloWorld {
- public String sayHi(String name) {
- System.out.println("sayHello is called by " + name);
- return "Hello " + name;
- }
- }
第三步,创建服务端
- public class Server {
- private Server(){
- IHelloWorld helloWorld = new HelloWorldImpl();
- //创建WebService服务工厂
- JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
- //注册WebService接口
- factory.setServiceClass(IHelloWorld.class);
- //发布接口
- factory.setAddress("http://localhost:9000/HelloWorld");
- factory.setServiceBean(helloWorld);
- //创建WebService
- factory.create();
- };
- public static void main(String[] args) throws InterruptedException{
- //启动服务端
- new Server();
- System.out.println("Server ready...");
- //休眠一分钟,便于测试
- Thread.sleep(1000*60);
- System.out.println("Server exit...");
- System.exit(0);
- }
- }
第四步,创建客户端
- public class Client {
- private Client(){};
- public static void main(String[] args){
- //创建WebService客户端代理工厂
- JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
- //注册WebService接口
- factory.setServiceClass(HelloWorld.class);
- //设置WebService地址
- factory.setAddress("http://localhost:9000/HelloWorld");
- IHelloWorld iHelloWorld = (IHelloWorld)factory.create();
- System.out.println("invoke webservice...");
- System.out.println("message context is:"+iHelloWorld.sayHi("
- Josen"));
- System.exit(0);
- }
- }
4、 首先,运行服务端程序
其次,打开浏览器,在地址栏中输入http://localhost:9000/HelloWorld?wsdl
5、当你运行服务端时,其他原有的程序报错了。比如:javax.servlet-api 读不到了 ,读了geronimo-servlet包中的javax-servlet。。
在pom.xml里换个位置就行了。程序喜欢读前边的那个。(纠结好久TT)
webService cxf学习的更多相关文章
- WebService CXF学习:复杂对象传递(List,Map)
转自:https://blog.csdn.net/z69183787/article/details/35988335 第一步:创建存储复杂对象的类(因为WebServices的复杂对象的传递,一定要 ...
- WebService基础学习
参考 WebService基础学习(一)—基础知识:http://www.cnblogs.com/yangang2013/p/5708647.html WebService基础学习(二)—三要素:ht ...
- WebService基础学习(三)—CXF
一.什么是CXF? Apache CXF = Celtix + Xfire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.Apache ...
- CXF学习(4) 处理无法自动转换的复合数据类型
只贴出服务端代码 1.Service接口类 package com.test.hello; import java.util.Map; import javax.jws.WebService; imp ...
- CXF学习(2) helloworld
0.新建一个项目取名wsserver. pom.xml 文件如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...
- CXF学习 (1)
Axis(Apache) -> Axis2(Apache) XFire - > CXF (XFire+Celtrix) (Apache) CXF并不仅仅是Webservice框架,更号称是 ...
- webservice cxf error:类的两个属性具有相同名称 "password"
execption detail: Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.Servic ...
- WebService CXF调试常见报错及解决方案
1.CXF java.lang.RuntimeException: Cannot create a secure XMLInputFactory 解决方案:从apache-cxf/lib下寻找Wood ...
- webservice(CXF)基于3.1.1版本实例
引言 有没有一种办法可以实现跨应用程序进行通信和跨平台进行通信呢? 换句话说,就是有什么办法可以实现我的应用程序 A 可以和应用程序 B 进行通信呢? 或者说是,我用 Java 写的应用程序和用 . ...
随机推荐
- mac os Catalina beta Jetbrains idea闪退解决方案
第一时间升级最新版本的Catalina 10.15 Beta 版(19A501i) 后, 发现不管在idea 输入什么,都会直接crash. 不论是卸载重装还是,clean,结果都是一样的. 在网上查 ...
- 180608发现的一个有趣的Douyin-Bot项目
今日发现的github 项目 Douyin-Bot 抖音机器人发现漂亮小姐姐 :sweat_smile: 在开发者模式下,找到指针位置,开启之后,当点击屏幕时,可以获取点击屏幕处的xy坐标了 我使用的 ...
- 迭代器/生成器/装饰器 /Json & pickle 数据序列化
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需 ...
- [JZOJ4769]【GDOI2017模拟9.9】graph
题目 描述 题目大意很明确了,所以不说-- 思考历程 一看见这题,咦,这就是传说中的动态图吗? 普通的动态图是维护连通性,这题是维护它是否是二分图,换言之就是维护它是否有奇环. 好像很复杂的样子. 想 ...
- JedisCluster API 整理
windows版redis启动服务器命令:redis-server redis.windows.conf 图表来自菜鸟教程: 列表的操作命令 序号 命令及描述 1 BLPOP key1 [key2 ] ...
- light oj 1422 区间dp
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> ...
- 菜鸟nginx源码剖析数据结构篇(三) 单向链表 ngx_list_t[转]
菜鸟nginx源码剖析数据结构篇(三) 单向链表 ngx_list_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csd ...
- 83 落单的数 II
原题网址:http://www.lintcode.com/zh-cn/problem/single-number-ii/ 给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这 ...
- 杂项-公司:Google
ylbtech-杂项-公司:Google 谷歌公司(Google Inc.)成立于1998年9月4日,由拉里·佩奇和谢尔盖·布林共同创建,被公认为全球最大的搜索引擎公司.谷歌是一家位于美国的跨国科技企 ...
- Android之相关术语
Dalvik: Android特有的虚拟机,和JVM不同,Dalvik虚拟机非常适合在移动终端上使用! AVD: (android virtual machine):安卓虚拟设备,就是安卓的模拟器 A ...