首页 文章

使用默认系统浏览器访问本地IBM Notes应用程序

提问于
浏览
3

我正在使用IBM Lotus Notes技术中的Xpages框架开发Web应用程序 .

我的用户不使用嵌入式Notes客户端浏览器,而是使用常规现代浏览器(Firefox,Chrome)浏览Notes应用程序 .

当用户有互联网连接时,一切都很好,他可以通过他最喜欢的浏览器访问在线服务器上的应用程序 .

但是我的一些应用程序需要在本地使用离线 . 当用户在本地工作时,他打开IBM Notes客户端,转到他的工作区并单击以在本地打开应用程序 . 然后,Notes客户端在随机端口上运行http服务器,并使用嵌入式Notes客户端浏览器打开该应用程序 .

我想要实现的是能够通过使用默认系统浏览器而不是嵌入式Notes客户端浏览器在常规浏览器(Firefox,Chrome)上打开应用程序 .

这是我尝试的没有成功:

使用 window.location.href ,我将获得运行本地http服务器的端口以及在嵌入式Notes客户端浏览器中打开的页面的路径 . 我得到了这样的结果:

127.0.0.1:54428/xsp/Gfn/CoffeShop.nsf/xp_home.xsp?OpenXPage&&xspRunningContext=Notes

所以我只保留有趣的部分:

127.0.0.1:54428/xsp/Gfn/CoffeShop.nsf/xp_home.xsp

现在我需要传递 session id 具有此http请求的参数,以便浏览器有权访问该应用程序 . 我得到了以下会话ID:

facesContext.getExternalContext().getRequest().getSession().getId()

从这里我得到一个ID,我 Build 了我的完整的http请求:

127.0.0.1:54428/xsp/Gfn/CoffeShop.nsf/xp_home.xsp?SessionID=ID-fae7aca8f062023972fe35e5909b0106f44ba2ae

但是当我尝试使用常规浏览器时,我得到的是 error 500 而不是获取页面 . 如果我查看服务器的日志,我看到以下错误消息:

Exception Thrown javax.servlet.ServletException: The request is not coming from a trusted Rich Client part

但我确信我的身份证是正确的 . 我试图在网上对此进行调查,但现在没有成功,如果有人知道我错过了什么,我会很高兴的吗?或者也许是另一种在默认系统浏览器中打开本地应用程序的方法?

谢谢!

3 回答

  • 1

    总之,你不能 . 安全限制禁用此功能 .

    但也许您应该再考虑一下XPiNC应用程序:使用9.0.1,底层的XULRunner组件已经升级,现在支持HTML5和许多“更新”的功能 .

    它匹配Firefox 10.0.6,这里是HTML5测试结果:https://html5test.com/s/555ae51ca555ac7b.html

  • 0

    您可以使用的唯一合理操作是在客户端上安装Domino设计器 . 然后你得到了一个用于标准浏览器的nhttp任务(你可能会分析nhttp需要什么,只安装那个部分) .

    需要注意的是:本地nhttp不支持身份验证 . 因此,您需要破解它(例如,在本地NSF和正确安全的NSF之间来回复制数据) .

    另外你可以试试approach I tookvert.x(应该适用于任何Java容器,但是你不会有任何XPage,只有原始的Domino数据 .

    Danielle用Crossworlds项目推动了这项工作 - 这可能就是你所需要的 .

  • 0

    斯蒂芬说它是这样的:你正在考虑的方式只会让你头疼 .

    如果必须使用脱机容量,您是否考虑过创建纯Notes客户端应用程序?那肯定会容易得多 .

相关问题