Openfire下WebServer实现

6 篇文章 0 订阅
1 篇文章 0 订阅

最近由于工作需要研究了Openfire的WebServer,下面只是一个简单demo.

1. 使用的jar文件:



2. 实现一个WebServer接口:OpenfireWebService.java

public interface OpenfireWebService {

//	public String sayHello(String name);
//
//	public void sendServerMessage(String domain, String toId, String content);
//
//	public int sendNoticeMessage(String domain, String fromId, String toId, String content);
	
	public int userLong(String username, String psd);
	
	public String getFriends(String username);
	
}

3. OpenfireWebService.java的接口实现
public class OpenfireWebServiceImpl implements OpenfireWebService {
	
	/**
	 * WEB登录
	 * @param username
	 * @param psd
	 * @return
	 * @see com.webservice.plugin.server.OpenfireWebService#userLong(java.lang.String, java.lang.String)
	 */
	public int userLong(String username, String psd) {
		DoolBellDao dao = new DoolBellDao();
		String myPsd = dao.getUserPSD(username);
		//ofproperty表中passwordKey对应的值
		Blowfish bs = new Blowfish("VRCnq2HmaBqrzdf");
        String dPsd = bs.decryptString(myPsd);
        if (psd.equals(dPsd)) {
        	return 0;  
        }
        return 1;  
	}
	
	public String getFriends(String username) {
		String val = "";
		List<String> list = new ArrayList<String>();
		DoolBellDao dao = new DoolBellDao();
		list = dao.getFriends(username);
		if (list != null && list.size() > 0) {
			val = list.toString();
		}
		return val;
	}  
}

4. 添加插件,定义访问端口:

public class WSDoolBellPlugin implements Plugin {
	
	private CamaPacketInterceptor cpi;
	
	private XMPPServer server;

	@Override
	public void initializePlugin(PluginManager manager, File pluginDirectory) {
		server = XMPPServer.getInstance();        
		System.out.println("-------------------------------------------");
		start();
		
//		cpi = new CamaPacketInterceptor();  
//	    InterceptorManager.getInstance().addInterceptor(cpi);  
//	    start();  

	}


	@Override
	public void destroyPlugin() {
	}
	
	private boolean start()   
    {     
        ObjectServiceFactory serviceFactory = new ObjectServiceFactory();     
        Service service = serviceFactory.create(OpenfireWebService.class);     
        service.setInvoker(new BeanInvoker(new OpenfireWebServiceImpl()));     
        XFire xfire = XFireFactory.newInstance().getXFire();     
        xfire.getServiceRegistry().register(service);  
        XFireHttpServer s = new XFireHttpServer();     
        s.setPort(8191);     
        try {     
            s.start();     
        } catch (Exception e) {     
            return false;     
        }     
        return  true;     
    }  

}

5.plugin.xml:

<?xml version="1.0" encoding="UTF-8"?>
<plugin>
	<!-- Main plugin class  -->
	<class>com.webservice.plugin.server.WSDoolBellPlugin</class>
	<!-- Plugin meta-data -->
	<name>WSDoolBellPlugin</name>
	<description>This is muc doorbell plugin.</description>
	<author>wsdoorbell</author>
 
	<version>1.0</version>
	<date>4/4/2014</date>
	<url>http://localhost:9090/openfire/plugins.jsp</url>
	<minServerVersion>3.9.1</minServerVersion>
	<licenseType>gpl</licenseType>
 
	<adminconsole>    
    </adminconsole>
</plugin>

6. 地址访问:http://127.0.0.1:8191/OpenfireWebService?wsdl


源码下载地址: http://download.csdn.net/detail/zxbcome/7663455

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值