cxf-spring小例子


如apache-cxf-2.7.10.zip

点击下载

server服务器端:

创建web项目cpicgxwx

创建的接口:

package com.cpic.wechat.webservice.client.robot;

import javax.jws.WebService;

/**
 * 接口需要注解
 */
@WebService
public interface IWeixin01 {

	/**
	 *  获取用户信息
	 * @param accessToken 接口访问凭证
	 * @param opendId  用户标识
	 * @return
	 */
	public String getUserInfo(String accessToken,String opendId);
	
}

创建实现类:

package com.cpic.wechat.webservice.client.robot.impl;

import javax.jws.WebService;

import com.cpic.wechat.webservice.client.robot.IWeixin01;

/**
 *         endpointInterface表示webservice接口名,因为一个类可以继承多个接口,你必须指明哪个是webservice接口
 * 
 *         serviceName:表示当前webservice的别名
 * 
 *         portName:表示当前webservice的端口名
 * 
 *         这些属性定义好之后,在wsdl中是能看到的,如果不定义,cxf会配置默认的别名和端口名
 */

@WebService(endpointInterface = "com.cpic.wechat.webservice.client.robot.IWeixin01", serviceName = "IWeixin01Service", portName = "IWeixin01ServicePort")
public class Weixin01Impl implements IWeixin01 {
	/**
	 * 获取用户信息
	 * 
	 * @param accessToken
	 *            接口访问凭证
	 * @param opendId
	 *            用户标识
	 * @return
	 */
	public String getUserInfo(String accessToken, String opendId) {
    //获取客户端发送过来的accessToken,opendId,
    //在该方法下进行业务处理,
    //并返回处理结果给客户端
		StringBuilder sb = new StringBuilder();
		sb.append("{");
		sb.append("'subscribe': 1,");
		sb.append("'openid': 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q',");
		sb.append("'nickname': '方倍',");
		sb.append("'sex': 1,");
		sb.append("'language': 'zh_CN',");
		sb.append("'city': '深圳',");
		sb.append(" 'province': '广东',");
		sb.append(" 'country': '中国',");
		sb.append(" 'subscribe_time': 1389684286");
		sb.append("}");

		return sb.toString();
	}

}

配置web.xml:


   
   
	
    
    
     
     CxfDemo
    
    

	
    
    
		
     
     
      
      contextConfigLocation
     
     
		
     
     
      
      classpath:webservice.xml
     
     
	
    
    

	
    
    
	
    
    
		
     
     
      
      org.springframework.web.context.ContextLoaderListener
     
     
	
    
    

	
    
    
	
    
    
		
     
     
      
      org.springframework.web.util.IntrospectorCleanupListener
     
     
	
    
    

	
    
    
		
     
     
      
      CXFServlet
     
     
		
     
     
      
      org.apache.cxf.transport.servlet.CXFServlet
     
     
		
     
     
      
      1
     
     
	
    
    

	
    
    
		
     
     
      
      CXFServlet
     
     
		
     
     
      
      /webservice/*
     
     
	
    
    


   
   

配置webservice.xml:

   
   

   
   

	
    
    


	
    
    
	
    
    
	
    
    


    
    
	
    
    

	
    
    


   
   


客户端client

通过apache CXF wsdl2java工具生成代码:

下载apache cxf的包,如apache-cxf-2.7.10.zip

解压在某一个盘下并进行环境变量配置:

1、CXF_HOME=D:\apache-cxf-2.7.10

2、在path后面加上 %CXF_HOME%/bin;

在cmd命令中输入wsdl2java,如果有提示usage,就表明配置成功

3,使用apache CXF wsdl2java工具:

创建java项目test

把代码生成在src下:

  在cmd命令中输入:wsdl2java -d D:\\src -client http://api.xxx.cn/xxxAPI/service/auditResBatchQueryService?wsdl

(D:\\src 是客户端程序代码所在的目录,http://api.xxx.cn/xxxAPI/service/auditResBatchQueryService?wsdl 是 定义webservice的地址,-client是生成客户端代码,-server 生成服务器启动web  service的代码)

cmd下运行:wsdl2java -d E:\myeclipseworkspace1.0\test\src  -client  http://localhost:8080/webservice/cpicgxwx?wsdl 

刷新项目,结果如下:

运行IWeixin01_IWeixin01ServicePort_Client.java

输出结果:

Invoking getUserInfo...
getUserInfo.result={'subscribe': 1,'openid': 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q','nickname': '方倍','sex': 1,'language': 'zh_CN','city': '深圳', 'province': '广东', 'country': '中国', 'subscribe_time': 1389684286}
{'subscribe': 1,'openid': 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q','nickname': '方倍','sex': 1,'language': 'zh_CN','city': '深圳', 'province': '广东', 'country': '中国', 'subscribe_time': 1389684286}









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值