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 ...
随机推荐
- Js jquery常用的身份证号码 邮箱电话等验证
刷了很多博客,https://www.cnblogs.com/hao-1234-1234/p/6636843.html 只有这个比较靠谱.
- 路飞学城Python-Day9(practise)
def save(): with open('practise_4', 'w+', encoding='utf-8') as f: for i in user_list: info = str(i) ...
- PHP中使用DOM读取解析XML属性值一例
先看XML文件结构,与常见的文件略有不同,数据并不是用闭合标签保存的,而是直接保存在属性值中. <?xml version="1.0" encoding="utf- ...
- HDU-5685 Problem A 求乘法逆元
题目链接:https://cn.vjudge.net/problem/HDU-5685 题意 给一个字符串S和一个哈希算法 $ H(s)=\prod_{i=1}^{i\leq len(s)}(S_{i ...
- 纯净版linux (debian)挂载VirtualBox共享文件夹
使用的虚拟机版本是:VirtualBox-5.2.8-121009 使用的linux版本是:Linux debian 4.9.0-7-amd64 tty 1. 开始配置 1.1:打开虚拟机设置,打开你 ...
- HTML一些标记
4)a标签也可以转换样式为按钮 <a class="btn btn-primary" href="#" role="button"&g ...
- Hibernate持久化步骤
1. 读取并解析配置文件 Configuration config= new Configuration().configure(); 相当于使用DataSource获取连接前读取DataSour ...
- GET和POST请求的核心区别
GET请求具有幂等性,而POST请求没有.
- vs解决方案里复制一个项目
首先,保证要复制的项目的整洁无垃圾文件: 然后,选“文件”/“导出模板”,起个名字: 再者,创建一个同类型的项目,这时项目模板里就会出现你刚才导出的项目了.
- scratchIDE使用说明
scratchIDE使用说明