openmeetings2.0版本基于SOAP与第三方应用集成

1.下载并安装openmeetings2.0(此版本为openmeetings转入apache下的第一个发布版本,其中存在一个Out of memory重大问题,其计划在2.1版本中解决,此问题不解决建议暂时不要使用2.0到生产环境中,因为OOM的问题非常严重,用上一会就会出现,并且tomcat会自动down掉)

http://incubator.apache.org/openmeetings/downloads.html

安装方法:参考http://incubator.apache.org/openmeetings/installation.html   注:要安装一堆第三方开源组件以实现图片或doc等文件转换


2.下载axis2 
http://axis.apache.org/axis2/java/core/


3.使用axis2 中的WSDL2Java工具生成openmeetings的webservice客户端stub
首先要先启动openmeetings,并且其可以正常访问

执行生成脚本如下:(替换org.tshark.mes.openmeetings.client为目标package)
F:\axis2-1.6.2\bin\WSDL2Java -uri http://192.168.1.118:5080/openmeetings/services/UserService?wsdl -p org.tshark.mes.openmeetings.client -d adb -s


4.使用以下方法生成secure login url(直接进入访问的安全访问地址)

	public String generateSecureLoginUrl(String userName,int roomId){
		try {
			//生成sessionId
			UserServiceStub userServiceStub = new UserServiceStub("http://127.0.0.1:5080/openmeetings/services/UserService");
			GetSession getSession = new GetSession();
			GetSessionResponse session = userServiceStub.getSession(getSession);
			String sessionId = session.get_return().getSession_id();
			log.debug("Meeting SessionId:"+sessionId);

			//以管理员身份登录
			LoginUser loginUser = new LoginUser();
			loginUser.setSID(sessionId);
			loginUser.setUsername("admin");
			loginUser.setUserpass("admin");
			LoginUserResponse loginUserResponse = userServiceStub.loginUser(loginUser);
			long loginResult = loginUserResponse.get_return();
			log.debug("Meeting LoginResult:" + loginResult);
			//登录失败
			if(loginResult < 0){
				return null;
			}
			//生成secure room hash
			SetUserObjectAndGenerateRoomHash userObjectAndGenerateRoomHash = new SetUserObjectAndGenerateRoomHash();
			userObjectAndGenerateRoomHash.setSID(sessionId);
			userObjectAndGenerateRoomHash.setUsername(userName);
			userObjectAndGenerateRoomHash.setFirstname(userName);
			userObjectAndGenerateRoomHash.setLastname("");
			userObjectAndGenerateRoomHash.setProfilePictureUrl("");
			userObjectAndGenerateRoomHash.setEmail("");
			userObjectAndGenerateRoomHash.setExternalUserId("");
			userObjectAndGenerateRoomHash.setExternalUserType("");
			userObjectAndGenerateRoomHash.setRoom_id(roomId);
			userObjectAndGenerateRoomHash.setBecomeModeratorAsInt(0);
			userObjectAndGenerateRoomHash.setShowAudioVideoTestAsInt(1);
			SetUserObjectAndGenerateRoomHashResponse userObjectAndGenerateRoomHashResponse = userServiceStub.setUserObjectAndGenerateRoomHash(userObjectAndGenerateRoomHash);
			String roomHash = userObjectAndGenerateRoomHashResponse.get_return();
			log.debug("Meeting secure roomHash:" + roomHash);
			//这里注意一定要使用main.as3.swf10.swf而不是main.swf8.swf
			String ssoUrl = "http://127.0.0.1:5080/openmeetings/main.as3.swf10.swf?secureHash=" + roomHash + "&language=11&lzproxied=solo&lc_SID=139032";
			log.debug("Final secure login url:" + ssoUrl);
			return ssoUrl;
		} catch (Exception e) {
			log.error(e.getMessage(),e);
			throw new TSharkException(e);
		}
	}

5.使用以上生成的seucre login url进入指定会议室

	@RequestMapping(value = "/room/admin")
	public void room(HttpServletRequest request, HttpServletResponse response) throws Exception {
		String roomId = request.getParameter("roomId");
		String roomSecureLoginUrl = meetingManager.generateSecureLoginUrl("meetingadmin", Integer.valueOf(roomId));
		response.sendRedirect(roomSecureLoginUrl);
	}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值