通过第三方portal(java开发)跳过sap bo端的登录页面方法
发布日期:2021-09-29 01:26:46 浏览次数:5 分类:技术文章

本文共 2026 字,大约阅读时间需要 6 分钟。

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

   

转载地址:https://blog.csdn.net/happydecai/article/details/79958219 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java基本数据类型
下一篇:eclipse中安装反编译工具

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月11日 12时18分00秒