cxf 实例解读
1.sample 实例之一---java_first_pojo
服务端发布服务的方法:
1 HelloWorldImpl helloworldImpl = new HelloWorldImpl();
//cxf发布服务的工厂bean
2 ServerFactoryBean svrFactory = new ServerFactoryBean();
//设置服务类
3 svrFactory.setServiceClass(HelloWorld.class);
//设置服务地址
4 svrFactory.setAddress("http://localhost:9000/Hello");
//设置服务bean
5 svrFactory.setServiceBean(helloworldImpl);
6 svrFactory.create();
客户度调用的方法:
//创建服务代理工程bean
ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
//设置服务代理地址
factory.setAddress("http://localhost:9000/Hello");
//创建代理服务
HelloWorld client = factory.create(HelloWorld.class);
//调用代理服务
System.out.println(client.sayHi(System.getProperty("user.name")));
2 sample实例之二---java_first_jaxws
服务端发布服务的方法:
1 HelloWorldImpl implementor = new HelloWorldImpl();
2 String address = "http://localhost:9000/helloWorld";
3 Endpoint.publish(address, implementor);
客户端调用的方法:
private static final QName SERVICE_NAME = new QName("http://server.hw.demo/", "HelloWorld");
private static final QName PORT_NAME = new QName("http://server.hw.demo/", "HelloWorldPort");
Service service = Service.create(SERVICE_NAME);
// Endpoint Address
String endpointAddress = "http://localhost:9000/helloWorld";
// If web service deployed on Tomcat deployment, endpoint should be changed to:
// String endpointAddress = "http://localhost:8080/java_first_jaxws/services/hello_world";
// Add a port to the Service
service.addPort(PORT_NAME, SOAPBinding.SOAP11HTTP_BINDING, endpointAddress);
HelloWorld hw = service.getPort(HelloWorld.class);
3 sample实例之---java_first_jaxws_factory_bean
服务端发布服务的方法:
1 HelloWorldImpl implementor = new HelloWorldImpl();
2 JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean();
3 svrFactory.setServiceClass(HelloWorld.class);
4 svrFactory.setAddress("http://localhost:9000/helloWorld");
5 svrFactory.setServiceBean(implementor);
6 svrFactory.getInInterceptors().add(new LoggingInInterceptor());
7 svrFactory.getOutInterceptors().add(new LoggingOutInterceptor());
8 svrFactory.create();
客户端调用的方法:
1 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
2 factory.getInInterceptors().add(new LoggingInInterceptor());
3 factory.getOutInterceptors().add(new LoggingOutInterceptor());
4 factory.setAddress("http://localhost:9000/helloWorld");
5 HelloWorld client = factory.create(HelloWorld.class);
6 System.out.println(client.sayHi("World"));
4.sample实例之一---java_first_spring_support
服务端发布服务
1 /**
2 * Important: This code simply starts up a servlet container and adds
3 * the web application in src/webapp to it. Normally you would be using
4 * Jetty or Tomcat and have the webapp packaged as a WAR. This is simply
5 * as a convenience so you do not need to configure your servlet
6 * container to see CXF in action!
7 */
8 org.eclipse.jetty.server.Server server = new org.eclipse.jetty.server.Server();
9
10 SelectChannelConnector connector = new SelectChannelConnector();
11 connector.setPort(9002);
12 server.setConnectors(new Connector[] {connector});
13
14 WebAppContext webappcontext = new WebAppContext();
15 webappcontext.setContextPath("/");
16
17 webappcontext.setWar("target/JavaFirstSpringSupport.war");
18
19 HandlerCollection handlers = new HandlerCollection();
20 handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()});
21
22 server.setHandler(handlers);
23 server.start();
24 System.out.println("Server ready...");
25 server.join();
客户度调用服务:
1 ClassPathXmlApplicationContext context
2 = new ClassPathXmlApplicationContext(new String[] {"client-beans.xml"});
3
4 HelloWorld client = (HelloWorld)context.getBean("client");
5
6 String response = client.sayHi("Joe");
客户度调用小结
(引用http://blog.csdn.net/liaomin416100569/article/details/5503410)
1 UserServiceImplService serivce = new UserServiceImplService();
2 UserServiceImpl impl = serivce.getUserServiceImplPort();
1 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
2 factory.setAddress("http://localhost:8088/abc");
3 QName SERVICE = new QName("http://liaomin", "UserServiceImplService");
4 factory.setServiceName(SERVICE);
5 factory.setServiceClass(UserService.class);
6 UserService us = (UserService) factory.create();
1 QName SERVICE = new QName("http://liaomin", "UserServiceImplService");
2 QName UserServiceImplPort = new QName("http://liaomin", "UserServiceImplPort");
3 URL url = new URL("http://localhost:8088/abc?wsdl");
4 ServiceDelegate dele=Provider.provider().createServiceDelegate(url,SERVICE,Service.class);
5 UserService us = (UserService) dele.getPort(UserServiceImplPort,UserService.class);
1 ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
2 factory.setServiceClass(UserService.class);
3 factory.setAddress("http://localhost:8088/abc");
4 // factory.getServiceFactory().setDataBinding(new AegisDatabinding());
5 UserService client = (UserService) factory.create();
cxf 实例解读的更多相关文章
- cxf实例异常
基于CXF2.3.0 Caused by: java.lang.InstantiationException: org.apache.cxf.wstx_msv_validation.WoodstoxV ...
- 实例解读丨关于GaussDB ETCD服务异常
摘要:本文通过对ETCD服务异常问题分析,代码展示解决方案. 本文分享自华为云社区<[实例状态]GaussDB ETCD服务异常>,作者:酷哥. 首先确认是否是虚拟机.网络故障 虚拟机故障 ...
- Java中Websocket使用实例解读
介绍 现在很多网站为了实现即时通讯,所用的技术都是轮询(polling).轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器 ...
- Unity3d-AngryBots实例解读
最近粗略研究了下Unity3d自带的例子AngryBots,记录一下,部分内容摘自http://oulehui.blog.163.com/blog/static/7961469820125251051 ...
- Golang 并发Groutine实例解读(二)
go提供了sync包和channel机制来解决协程间的同步与通信. 一.sync.WaitGroup sync包中的WaitGroup实现了一个类似任务队列的结构,你可以向队列中加入任务,任务完成后就 ...
- Golang 并发Groutine实例解读(一)
Go语言的并发和并行 不知道你有没有注意到一个现象,还是这段代码,如果我跑在两个goroutines里面的话: var quit chan int = make(chan int) func loop ...
- 实例解读什么是Redis缓存穿透、缓存雪崩和缓存击穿
from:https://baijiahao.baidu.com/s?id=1619572269435584821&wfr=spider&for=pc Redis缓存的使用,极大的提升 ...
- wordpress时间函数the_time() 实例解读
wordpress the_time()时间函数想必大家多多少少都会用到,但是要自定义一些时间相对没那么熟悉了,随ytkah一起来看看吧.我们知道时间函数基础调用是<?php the_time( ...
- 使用CXF做简单的WebService例子
使用Maven搭建项目测试简单的CXF实例 Server: pom.xml: <!-- begin CXF Server --> <dependency> <groupI ...
随机推荐
- NodeJS学习笔记 (8)网络服务-http-server(ok)
http服务端概览 创建server 几行代码搞定 var http = require('http'); var requestListener = function(req, res){ res. ...
- 字符串的格式化(转自武sir)
百分号s方式: (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐:正数前加正好,负数前加负号: - 左对齐 ...
- vue mint-ui swipe 不显示或显示空白
vue mint-ui swipe 不显示或显示空白? 解决需要在mt-swipe上层元素设置高度 <div> <div> <mt-header title=" ...
- 洛谷2055 [ZJOI2009]假期的宿舍
题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不认识. ...
- POJ 3093 Margaritas on the River Walk(背包)
题意 n个有体积的物品,问选取一些物品,且不能再继续选有多少方法? n<=1000 题解 以前的考试题.当时是A了,但发现是数据水,POJ上WA了. 把体积从小到大排序枚举没选的物品中体积最小的 ...
- maven 安装jar包
1 下载maven: 下载路径: http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-b ...
- AES对称加密util
package cn.com.qmhd.oto.common; import java.security.Key; import java.security.NoSuchAlgorithmExcept ...
- LVM 镜像硬盘更换、数据恢复(centos7.4 redhat7.5)
案例说明 Centos7 VG:vg LV:vg-lvRedhat 7.5VG:vgtest LV:lvtest 目的:模拟硬盘 /dev/sdb损坏.在线添加新硬盘/dev/sdc,lv镜像数据 ...
- 紫书 习题8-6 UVa 1611 (构造法)
这道题和例题8-1相当的像. 例题8-1https://blog.csdn.net/qq_34416123/article/details/80112017 一开始我还以为用归并的思想, 用交换把局部 ...
- [SDOI2008]郁闷的小J(分块)
[SDOI2008]郁闷的小J 题目描述 小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他面临着被解雇的危 ...