码迷,mamicode.com
首页 > 其他好文 > 详细

Apache CXF之初探

时间:2014-08-20 18:13:53      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:des   http   java   os   io   文件   ar   2014   

一、到官网 http://cxf.apache.org/download.html 下载对应的 包。

bubuko.com,布布扣

二、新建Java 工程,把对应的jar包放入去。

bubuko.com,布布扣

三、创建 server 端的程序。

     共有3个Java文件:

bubuko.com,布布扣

     3.1 新建接口 HelloWorld,此接口只有一个方法,如下代码:


package com.yao.cxf.server;

public interface HelloWorld {
	String sayHi(String text);
}



      3.2 实现接口类 HelloWorldImpl:



package com.yao.cxf.server;

public class HelloWorldImpl implements HelloWorld {

	@Override
	public String sayHi(String text) {
		return "Hello,"+text;
	}

}



      3.3 服务器端类:



package com.yao.cxf.server;

import org.apache.cxf.frontend.ServerFactoryBean;

public class Server {

	public Server() throws Exception{
		HelloWorldImpl hw = new HelloWorldImpl();
		ServerFactoryBean sfb = new ServerFactoryBean();
		sfb.setServiceClass(HelloWorld.class);
		sfb.setServiceBean(hw);
		sfb.setAddress("http://localhost:9000/Hello");
		sfb.create();
	}
	
	public static void main(String[] args) throws Exception{
		new Server();
		System.out.println("server start ...");
		Thread.sleep(5*60*1000);
		System.out.println("server exit ...");
		System.exit(0);
	}

}




四、创建客户端:

客户端设置和服务器端一样的地址才可以访问:


package com.yao.cxf.client;

import org.apache.cxf.frontend.ClientProxyFactoryBean;

import com.yao.cxf.server.HelloWorld;

public class Client {

	public static void main(String[] args) {
		ClientProxyFactoryBean clientFactory = new ClientProxyFactoryBean();
		clientFactory.setAddress("http://localhost:9000/Hello");
		HelloWorld hw = clientFactory.create(HelloWorld.class);
		System.out.println(hw.sayHi("yaokj"));
	}

}



五、先启动运行Server类,再运行Client类,


     5.1 运行Server类打印如下的结果:

2014-8-20 15:28:15 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
信息: Creating Service {http://server.cxf.yao.com/}HelloWorld from class com.yao.cxf.server.HelloWorld
2014-8-20 15:28:16 org.apache.cxf.endpoint.ServerImpl initDestination
信息: Setting the server‘s publish address to be http://localhost:9000/Hello
2014-8-20 15:28:16 org.eclipse.jetty.server.Server doStart
信息: jetty-8.1.15.v20140411
2014-8-20 15:28:16 org.eclipse.jetty.server.AbstractConnector doStart
信息: Started SelectChannelConnector@localhost:9000
2014-8-20 15:28:16 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL
信息: Creating Service {http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Discovery from WSDL: classpath:/org/apache/cxf/ws/discovery/wsdl/wsdd-discovery-1.1-wsdl-os.wsdl
2014-8-20 15:28:16 org.apache.cxf.endpoint.ServerImpl initDestination
信息: Setting the server‘s publish address to be soap.udp://239.255.255.250:3702
2014-8-20 15:28:16 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
信息: Creating Service {http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}DiscoveryProxy from class org.apache.cxf.jaxws.support.DummyImpl
server start ...
server exit ...



    5.1  运行Client类 打印如下的结果:

2014-8-20 15:28:38 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
信息: Creating Service {http://server.cxf.yao.com/}HelloWorld from class com.yao.cxf.server.HelloWorld
Hello,yaokj



Apache CXF之初探,布布扣,bubuko.com

Apache CXF之初探

标签:des   http   java   os   io   文件   ar   2014   

原文地址:http://my.oschina.net/jamaly/blog/304775

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!