必威体育Betway必威体育官网
当前位置:首页 > IT技术

通过第三方portal(java开发)跳过sap bo端的登录页面方法

时间:2019-07-24 01:41:05来源:IT技术作者:seo实验室小编阅读:80次「手机版」
 

tokenmgr

sap bo端提供了一些api,供java调用,供第三方java应用跳过登陆等。这篇文章详细讲解如何书写代码。主要分为以下3步。

1,引入的jar包主要有2个。如下图红框中所示。

 

2,java代码核心(api如何调用)

通过以下代码段,可以看到我们得到了String类型的 token字符串,得到字符串之后,如何跳过登陆页面直接访问报表呢?答案是:直接通过url拼接的方式即可。

        /**
	 * 封装登陆逻辑,获取token;
	 * @throws SDKException 
	 * 如果服务器网络均正常,那么这个问题很可能是由于未配置系统IP地址解析。可修改本机的hosts文件修复该问题.
	 */
	@SuppressWarnings("deprecation")
	public static String getWcaToken(HttpServletrequest request) throws SDKException{
		String wcaToken = "";
		Httpsession session = request.getSession();
		ISessionMgr sessionMgr;
		IEnterpriseSession entsession = (IEnterpriseSession) request.getSession().getAttribute("boesession");
		if (entsession == null) {
			sessionMgr = CrystalEnterprise.getSessionMgr();
			//以下userName,password需要改为自己bo登录页面的用户名和密码,ip也要修改为bo所在服务器的ip;
			String userName="???",passWord="???",ip="138.6.4.170";
			entsession = sessionMgr.logon(userName, passWord,ip+":6400", "secEnterprise");
			session.setattribute("boesession", entsession);
		}
		request.getSession().setAttribute("boesession", entsession);
		/* 其中createLogonToken(java.lang.String clientComputerName, int validMinutes, int validNumOfLogons)
		   clientComputerName为使用这个token的客户端计算机名,空字符串表示该token可被任何客户端使用;
		   validMinutes为token的有效时间(分钟);
		   validNumOfLogons 表示该token允许被使用的最大次数。*/		 
		wcaToken = entsession.getLogontokenmgr().createLogonToken("", 1000,1000);
//		wcaToken = entsession.getLogonTokenMgr().createWCAToken("", 1000,1000);//既然提示过期的方法,就可能有问题  
		return wcaToken;
	}
	
3,拼接url(必须把token字符串拼接到url后面)

例如系统最终拼成的url为:http://10.6.4.170:8080/BOE/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&sType=wid&iDocID=AQa.zJ7BBUBAolv5NdN3X2A&lsSP_DATE=20180415&token=BIPRD0:6400@129477Jg4Sy5pocBTNao8qOGGws6j129475J1JhLhH8z4qO7A6adlV4R1hONEOFF

注:在自己测试的时候,可以直接把上面的url填入浏览器中访问。如果访问通过(也就是直接跳过登陆页面),即为成功。

4,错误处理

如果第三步成功跳过则可以忽略下面这一步。

报错:尝试连接到服务器 10.6.4.170:6400 时出现通信错误 (FWM 01009)

如果服务器及网络均正常,那么这个问题很可能是由于未配置系统IP地址解析。可修改本机的Hosts文件修复该问题,Hosts文件的地址一般为 %windir%\system32\drivers\etc\hosts,用记事本打开host文件。如果服务器IP地址为1.2.3.4,服务器主机名为MYSERVER01,则向文件添加以下内容即可

1.2.3.4 MYSERVER01

--over

  

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读