webservice cxf

来源:互联网 发布:阿里云的免费虚拟主机 编辑:程序博客网 时间:2024/05/16 05:43

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;@WebServicepublic interface HelloWorld {public String sayHi(String name);}

3 写实现类

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{@Overridepublic String sayHi(String name){return name + ",now is " + new Date();}}

4 发布服务

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方法,发布webserviceString 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的代理



测试类编写

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);}}


0 0
原创粉丝点击