Chinaunix首页 | 论坛 | 博客
  • 博客访问: 900081
  • 博文数量: 322
  • 博客积分: 6688
  • 博客等级: 准将
  • 技术积分: 3626
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-19 11:26
文章分类

全部博文(322)

文章存档

2013年(5)

2012年(66)

2011年(87)

2010年(164)

分类: 系统运维

2010-11-12 22:00:36

一 准备活动:
1 下载apache-cxf-2.2.7,貌似目前最新的版本 
2 导入Eclipse

二 编写Server端 
CXF内置有Jetty,我们这里就使用Jetty启动CXF Server
Webservice.java
package Sample;
import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public class Webservice {
public String show(@WebParam(name = "text")String text) {
return text;
}
}
//------------------------------------------------------------------------------
Server.java
package Sample;
import javax.xml.ws.Endpoint;
public class Server {

protected Server() throws Exception {
Webservice cxfService = new Webservice();
String address = "";
Endpoint.publish(address, cxfService);
}
public static void main(String[] args) throws Exception {
new Server();// 启动服务。
System.out.println("Start CXF Server");
System.out.println("waiting for 1000s");
Thread.sleep(1000 * 1000);
System.out.println("CXF Server exit");
System.exit(0);
}
}
//-------------------------------------------------------------------


运行服务端程序,在浏览器地址栏输入 
 ?wsdl查看接口是否发布成功。

三 编写Client端 
需要:
hessian-3.2.0.jar
IWebService.java
package Sample;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface IWebservice {
public String show(@WebParam(name = "text")String text);
}
//------------------------------------------------------------------------------
Client.java
package Sample;

import java.util.ArrayList;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.ws.commons.schema.utils.NamespacePrefixList;
import javax.xml.ws.*;
import org.apache.cxf.jaxws.JaxWsClientProxy;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.MessageSenderInterceptor;

public class Client {
private Client() {
}

public static void main(String[] args) throws Exception {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(IWebservice.class);
factory.setAddress("");
factory.getInInterceptors().add(new LoggingInInterceptor()); 
IWebservice client = (IWebservice) factory.create();
System.out.println("Invoke show()");
System.out.println(client.show("show hello!"));
System.exit(0);
}
}

四 小结
阅读(1075) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~