cxf 基础知识
cxf 处理数据
配置 apache-cxf-2.4.0
下载地址:http://download.csdn.net/detail/qq_26437925/9408486
服务端
使用cxf开发web service服务器端
/*
每个web service 组件需要2个部分,接口和实现类
*/
(1) 开发一个 webservice业务接口
该接口需要用@webservice修饰
(2)开发一个web service实现类
实现类也需要用@webservice修饰
(3)使用Endpoint 发布webservice
1 新建java application 添加jar
2 写interface
package org.fkjava.cxf.ws; import javax.jws.WebService; @WebService public interface HelloWorld { public String sayHi(String name); }
package org.fkjava.cxf.ws.impl; import java.util.Date; import javax.jws.WebService; import org.fkjava.cxf.ws.HelloWorld; @WebService( endpointInterface="org.fkjava.cxf.ws.HelloWorld", serviceName="HelloWorldWs") public class HelloWorldWs implements HelloWorld{ @Override public String sayHi(String name){ return name + ",now is " + new Date(); } }
package lee; import javax.xml.ws.Endpoint; import org.fkjava.cxf.ws.HelloWorld; import org.fkjava.cxf.ws.impl.HelloWorldWs; public class ServiceMain { public static void main(String args[]){ // 调用Endpoint的publish方法,发布webservice String address = "http://192.168.3.101:8081/crazyit"; // 用自己的ip:端口 HelloWorld hw = new HelloWorldWs(); Endpoint.publish(address, hw); System.out.println("webservice发布成功"); // 浏览器 http://192.168.3.101:8081/crazyit?wsdl 查看wsdl文档 } }
客户端
使用cxf开发web service客户端
/*
每个web service 组件需要2个部分,接口和实现类
*/
(1) 调用cxf提供的wsdl2java工具,根据wsdl文档生成相应的java代码
wsdl webserivice definition launguage
任何语言实现webservice,都需要提供和暴露wsdl文档
(2) 找到wsdl2java生成类中,一个继承了Service的类
该类的实例可当成工厂来使用
(3)调用service子类的实例的getXX,返回远程web service的代理
1
测试类编写
package lee; import org.fkjava.cxf.ws.HelloWorld; import org.fkjava.cxf.ws.impl.HelloWorldWs; public class ClientMain { public static void main(String args[]){ HelloWorldWs factory = new HelloWorldWs(); //此处返回的只是web service的代理 HelloWorld hw = factory.getHelloWorldWsPort(); String rs = hw.sayHi("扣扣"); System.out.println(rs); } }