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

Xpages 使用默认系统浏览器访问本地IBM Notes应用程序,xpages,lotus-notes,lotus-domino,xpages-ssjs,Xpages,Lotus Notes,Lotus Domino,Xpages Ssjs,我正在使用IBMLotusNotes技术的Xpages框架开发web应用程序 我的用户不使用嵌入式Notes客户端浏览器,而是使用常规的现代浏览器(Firefox、Chrome)浏览Notes应用程序 一切正常当用户连接到internet时,他可以通过他最喜欢的浏览器访问在线服务器上的应用程序 但是,我的一些应用程序需要在本地脱机使用。当用户在本地工作时,他打开IBMNotes客户端,转到他的工作区并单击以在本地打开应用程序。然后,Notes客户端在随机端口上运行http服务器,并使用嵌入式No

我正在使用IBMLotusNotes技术的Xpages框架开发web应用程序

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

一切正常当用户连接到internet时,他可以通过他最喜欢的浏览器访问在线服务器上的应用程序

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

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

以下是我尝试但未成功的结果:

使用
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

现在我需要传递会话id,该id包含此http请求的参数,以便浏览器有权访问该应用程序。我使用以下内容获取会话ID:

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

由此,我获得了一个ID,并构建了完整的http请求:

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

但是,当我在常规浏览器中尝试此操作时,我没有得到页面,而是得到一个错误500。如果查看服务器的日志,我会看到以下错误消息:

引发异常
javax.servlet.ServletException:请求不是来自受信任的富客户端部件

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


谢谢大家!

您可以使用的唯一合理操作是在客户机上安装Domino designer。然后,您就得到了为标准浏览器服务的nhttp任务(您可能不需要分析nhttp需要什么,而只需要安装该部分)

需要注意的是:本地nhttp不支持身份验证。因此,您需要绕过它(例如,在本地NSF和适当安全的NSF之间来回复制数据)

或者,您可以尝试使用(应该可以使用任何Java容器,但这样您就没有任何XPage,只有原始Domino数据)


丹妮尔在项目中推动了这一点——这可能是你所需要的。

斯蒂芬直截了当地说:你考虑的方式只会让你头疼


如果必须具备脱机容量,您是否考虑过创建一个纯Notes客户端应用程序?这肯定会容易得多。

简而言之,您不能。这是由于安全限制而禁用的

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

它与Firefox 10.0.6相匹配,以下是HTML5测试结果:

XPiNC有什么问题?我认为你的黑客攻击方式是死路一条。你想要的是“本地预览”,不同的http任务,但如果它只与安装的IBM Designer一起工作。XPiNC是firefox的旧版本,它不支持我在应用程序中使用的许多新web技术(例如HTML5)。它也比较慢。我当然可以调整我的代码,使其在XPiNC上很好地工作,但这比在本地工作时找到使用常规浏览器的解决方案要费时。用户没有设计师,只有客户端,所以预览对我来说不是一个好的解决方案。我同意,XPiNC落后了几年。特别是好的应用程序ally那些工作多年的人不依赖“铃铛和口哨”。除非你的目标客户是青少年;-)我的2美分。当然,Designer不是一个选项,你不能使用它来达到这个目的,我认为这是不切实际的,而且违反了许可证。谢谢你的回答,但问题是用户的机器上没有Designer。此外,他们没有正确的访问控制,无法在设计器中打开数据库。主要的问题是认证!关于vert.x的方法,我真的不明白它如何能满足我的需要。这就是为什么你可以看看crossworlds——不需要设计师