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 实例解读的更多相关文章

  1. cxf实例异常

    基于CXF2.3.0 Caused by: java.lang.InstantiationException: org.apache.cxf.wstx_msv_validation.WoodstoxV ...

  2. 实例解读丨关于GaussDB ETCD服务异常

    摘要:本文通过对ETCD服务异常问题分析,代码展示解决方案. 本文分享自华为云社区<[实例状态]GaussDB ETCD服务异常>,作者:酷哥. 首先确认是否是虚拟机.网络故障 虚拟机故障 ...

  3. Java中Websocket使用实例解读

    介绍 现在很多网站为了实现即时通讯,所用的技术都是轮询(polling).轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器 ...

  4. Unity3d-AngryBots实例解读

    最近粗略研究了下Unity3d自带的例子AngryBots,记录一下,部分内容摘自http://oulehui.blog.163.com/blog/static/7961469820125251051 ...

  5. Golang 并发Groutine实例解读(二)

    go提供了sync包和channel机制来解决协程间的同步与通信. 一.sync.WaitGroup sync包中的WaitGroup实现了一个类似任务队列的结构,你可以向队列中加入任务,任务完成后就 ...

  6. Golang 并发Groutine实例解读(一)

    Go语言的并发和并行 不知道你有没有注意到一个现象,还是这段代码,如果我跑在两个goroutines里面的话: var quit chan int = make(chan int) func loop ...

  7. 实例解读什么是Redis缓存穿透、缓存雪崩和缓存击穿

    from:https://baijiahao.baidu.com/s?id=1619572269435584821&wfr=spider&for=pc Redis缓存的使用,极大的提升 ...

  8. wordpress时间函数the_time() 实例解读

    wordpress the_time()时间函数想必大家多多少少都会用到,但是要自定义一些时间相对没那么熟悉了,随ytkah一起来看看吧.我们知道时间函数基础调用是<?php the_time( ...

  9. 使用CXF做简单的WebService例子

    使用Maven搭建项目测试简单的CXF实例 Server: pom.xml: <!-- begin CXF Server --> <dependency> <groupI ...

随机推荐

  1. Js jquery常用的身份证号码 邮箱电话等验证

    刷了很多博客,https://www.cnblogs.com/hao-1234-1234/p/6636843.html 只有这个比较靠谱.

  2. 路飞学城Python-Day9(practise)

    def save(): with open('practise_4', 'w+', encoding='utf-8') as f: for i in user_list: info = str(i) ...

  3. PHP中使用DOM读取解析XML属性值一例

    先看XML文件结构,与常见的文件略有不同,数据并不是用闭合标签保存的,而是直接保存在属性值中. <?xml version="1.0" encoding="utf- ...

  4. HDU-5685 Problem A 求乘法逆元

    题目链接:https://cn.vjudge.net/problem/HDU-5685 题意 给一个字符串S和一个哈希算法 $ H(s)=\prod_{i=1}^{i\leq len(s)}(S_{i ...

  5. 纯净版linux (debian)挂载VirtualBox共享文件夹

    使用的虚拟机版本是:VirtualBox-5.2.8-121009 使用的linux版本是:Linux debian 4.9.0-7-amd64 tty 1. 开始配置 1.1:打开虚拟机设置,打开你 ...

  6. HTML一些标记

    4)a标签也可以转换样式为按钮 <a class="btn btn-primary" href="#" role="button"&g ...

  7. Hibernate持久化步骤

      1. 读取并解析配置文件 Configuration config= new Configuration().configure(); 相当于使用DataSource获取连接前读取DataSour ...

  8. GET和POST请求的核心区别

    GET请求具有幂等性,而POST请求没有.

  9. vs解决方案里复制一个项目

    首先,保证要复制的项目的整洁无垃圾文件: 然后,选“文件”/“导出模板”,起个名字: 再者,创建一个同类型的项目,这时项目模板里就会出现你刚才导出的项目了.

  10. scratchIDE使用说明

    scratchIDE使用说明