cxf 入门(hello world)

原创 2013年12月04日 10:28:45

我这里使用的是apache-cxf-2.6.10,下面就以这个版本为介绍

 

1、从官网上面下载apache-cxf-2.6.10.zip包,然后解压,将下面这些包导入到所建的web工程中。

 

servlet-api.jar
asm-3.3.1.jar
cxf-2.6.10.jar
//jetty的全部jar
jetty-continuation-7.5.4.v20111024.jar
jetty-http-7.5.4.v20111024.jar
jetty-io-7.5.4.v20111024.jar
jetty-security-7.5.4.v20111024.jar
jetty-server-7.5.4.v20111024.jar
jetty-util-7.5.4.v20111024.jar
neethi-3.0.2.jar
wsdl4j-1.6.3.jar
xmlschema-core-2.0.3.jar
geronimo-servlet_2.5_spec-1.1.2.jar
commons-logging-1.1.1.jar

//客户端调用需要下面这个两个jar
woodstox-core-asl-4.2.0.jar
stax2-api-3.1.1.jar

 

 

2、创建一个对外的接口

package com.cxf.service;

import javax.jws.WebService;

@WebService 
public interface HelloWorldCxfService {

	String sayHello(String username);
}

 

3、实现对外接口的实现类

package com.cxf.service.imp;

import javax.jws.WebService;
import com.cxf.service.HelloWorldCxfService;

@WebService(endpointInterface="com.cxf.service.HelloWorldCxfService")
public class HelloWorldCxfServiceImpl implements HelloWorldCxfService {

    public String sayHello(String username) {
    	System.out.println("Hello,"+username);
        return "Hello,"+username;
    }
}

 

4、发布对外接口

package com.cxf.service;

import javax.xml.ws.Endpoint;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.jaxws.EndpointImpl;
import com.cxf.service.imp.HelloWorldCxfServiceImpl;

public class MyServerInteceptor {
	
	public static void main(String[] args) {
		
		String address = "http://localhost:7777/hb";
		EndpointImpl ep = (EndpointImpl)Endpoint.publish(address, new HelloWorldCxfServiceImpl());
		
		//添加in拦截器
		ep.getInInterceptors().add(new LoggingInInterceptor());
		//添加out拦截器
		ep.getOutInterceptors().add(new LoggingInInterceptor());;
		
		System.out.println("发布消息成功");
	}
	
}

 

在浏览器地址栏中输入 http://localhost:7777/hb?wsdl ,如果页面出现一些列的XML格式的字符串,则表示发布成功


5、测试客户端调用代码

5.1 直接在发布server端测试

package com.cxf.client;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

import com.cxf.service.HelloWorldCxfService;

public class MyClient {

	public static void main(String[] args) {
		JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
		String address = "http://localhost:7777/hb";
		
		factory.setServiceClass(HelloWorldCxfService.class);
		factory.setAddress(address);
		HelloWorldCxfService service = (HelloWorldCxfService)factory.create();
		String result = service.sayHello("huangbiao");
		System.out.println("client : " + result);
	}

}

5.2根据CXF的wsdl2java方式在本地生成代码,在另一个工程中测试

package com.cxf.service;

import java.net.MalformedURLException;
import com.cxf.service.HelloWorldCxfService;
import com.cxf.service.imp.HelloWorldCxfServiceImplService;

public class Client1 {
	public static void main(String[] args) throws MalformedURLException {
		HelloWorldCxfServiceImplService factory  = new HelloWorldCxfServiceImplService();
		HelloWorldCxfService iservice = factory.getHelloWorldCxfServiceImplPort();
		String result = service.sayHello("huangbiao");
		System.out.println("client : " + result);
	}
}

 

 备注:在测试客户端的时候需要将上面引入的jar全部引入进工程。 

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

CXF学习之旅(二)- Hello World

这个是参照官方的一个例子,自己练习的,官方的地址:http://cxf.apache.org/docs/writing-a-service-with-spring.html 最近使用Ma...

CXF Hello World

废话不多说,直接贴上CXF开发的hello world如下: 1、在eclipse中新建web工程, 并导入apache-cxf-2.4.3\lib下所有jar文件 2、编辑web.xml文件 ...

Apache CXF实战之一 Hello World Web Service

本文链接:http://blog.csdn.net/kongxx/article/details/7525476Apache的CXF现在几乎成了Java领域构建Web Service的首选类库,并且它...
  • kongxx
  • kongxx
  • 2012年05月01日 11:31
  • 27268

CXF Web Service的Hello World之一 搭建环境

本文介绍如何配置 Eclipse + Java EE + Apache CXF + Tomcat + JDK 的开发环境,用于开发CXF Web Service。...

xcode 3.2.6 最入门的hello world程序

  • 2011年07月11日 15:48
  • 685KB
  • 下载

Python 入门(1)——安装和hello world

Windows下Python的安装比较简单,从python的官方网站(http://www.python.org/)下载了python的最近版本后双击执行即可,我用的是python-2.7.1。在Wi...

java 入门 hello world

  • 2014年01月11日 21:30
  • 111B
  • 下载

【python】python入门篇:python安装和环境配置、pycharm安装、第一个python程序hello world

【python】python入门篇:python安装和环境配置、pycharm安装、第一个python程序hello world...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cxf 入门(hello world)
举报原因:
原因补充:

(最多只允许输入30个字)