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. EFcore笔记之创建模型

    排除属性:NotMapped NotMapped:排除属性在CodeFirst的时候在数据库里不创建该属性   public class Blog { public int BlogId { get; ...

  2. SpringMVC简单介绍

    1. 框架的作用  SpringMVC主要解决了控制器如何接收客户端的请求,并将处理结果响应给客户端的问题.  在传统的Java EE开发中,控制器是`Servlet`,主要存在的问题有: 1. 每个 ...

  3. c++PrimerChap8IO库

    #include<iostream> #include<fstream> #include<string> using namespace std; int mai ...

  4. Python3+Gurobi使用教程(一)

    Gurobi使用教程 1.Gurobi使用的一般框架 from gurobipy import * try: m=Model('modelname') except GurobiError: prin ...

  5. 解决Vue引入百度地图JSSDK:BMap is undefined 问题

    百度地图官网文档介绍使用JSSDK时,仅提供了2种引入方式: script引入 异步加载 解决跨域问题,实例调用百度地图 但vue项目中仅某一两个页面需要用到百度地图,所以不想在 index.html ...

  6. HTTP cookies 详解

    http://blog.csdn.net/lijing198997/article/details/9378047

  7. 国庆 day 2 上午

    一道图论神题(god) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,只有 ...

  8. XCL-Chart柱形图的期望线/分界线

    周日在柱形图上加了两个小功能,当中之中的一个是加上了期望线/分界线,功能非常小,但我个人非常喜欢这个功能(好像之前也没看到别的图表库原生支持这个. ) 主要是加上这些小小的横线后,能非常明显的区分出数 ...

  9. Dubbo分布式服务框架入门(附project)

    要想了解Dubbo是什么,我们不防先了解它有什么用. 使用场景:比方我想开发一个网上商城项目.这个网上商城呢,比較复杂.分为pc端web管理后台.微信端销售公众号,那么我们分成四个项目,pc端站点,微 ...

  10. View注入框架:Butterknife简单使用

    View注入框架 下载地址 1.Activity Binging 通过@Bind凝视字段,Butter Knife能够通过View的ID自己主动找到并把对应的视图布局. class ExampleAc ...