【发布时间】:2015-06-29 17:35:52
【问题描述】:
应用服务器
- AIX V7.1
- WebSphere
- 应用服务器 V8.5.5.4
- Java SDK V7.0.8
- MobileFirst 平台基础 6.3
- DB2 V10.1 客户端
数据库服务器
- AIX V7.1
- DB2 V10.1
我们有一个 MobileFirst 应用程序,它是我们现有应用程序的移动前端。现有应用程序是一个提供 RESTful Web 服务的 WebSphere 应用程序。 MobileFirst 应用程序通过 MobileFirst Adapter 与现有 WebSphere 应用程序连接。 RESTful Web 服务 URL 是受保护的 URL,并且使用 LDAP 完成身份验证并创建 LTPA 令牌。 LDAP 是通过 WAS 控制台在 WebSphere 中配置的。
我们的 MobileFirst 应用程序运行良好,并且可以连接并使用 RESTful Web 服务,但前提是 MobileFirst 应用程序在单独的 WebSphere 配置文件或单独的 WebSphere 服务器上运行。如果我们尝试将 MobileFirst 应用程序安装到与提供 RESTful Web 服务的现有 WebSphere 应用程序相同的 WebSphere 配置文件中,它会中断。移动设备成功通过 MobileFirst 进行身份验证,然后调用 Adapter 来调用 RESTful Web 服务调用。但是,来自移动设备的下一次适配器调用以 HTTP 401 错误结束,这是一个授权错误。
我推测,在适配器通过我们现有的提供 Web 服务的 WebSphere 应用程序进行身份验证之后,这会以某种方式覆盖在移动设备和 MobileFirst 之间完成的身份验证。
我的问题如下。
MobileFirst 应用程序和我们现有的提供 RESTful Web 服务的 WebSphere 应用程序是否可以在同一个 WebSphere 配置文件中运行并共享 LTPA 令牌,这样当移动设备向 MobileFirst 进行身份验证时,它也将被授权执行在同一个 WebSphere 配置文件中运行的 Web 服务。
建议在同一个 WebSphere 配置文件中运行这两个应用程序,还是应该在单独的配置文件或单独的服务器上运行它们。
成本是一个问题,因为我们不一定希望增加物理上独立的服务器来运行 MobileFirst 的额外运营成本。
从操作的角度来看,添加和维护多个 WAS 配置文件是额外的工作。
理想情况下,我们真的希望在同一个 WebSphere 配置文件中运行这两个应用程序。
这是 trace.log、SystemOut.log、SystemErr.log 和 firebug-console.html 的 Google Drive 链接(无需登录)
MobileFirst 应用程序是在浏览器中使用“Preview as Common Resources”运行的。使用实际的 Android 或 iOS 设备时,我得到了相同的结果。 MobileFirst 应用程序 WAR 在与通过适配器访问的 Web 服务 WAR 相同的 WAS 概要文件中运行。当 MobileFirst 应用程序 WAR 在单独的 WAS 配置文件或单独的 WAS 服务器上运行时,同样的代码可以成功运行。
请指教。
【问题讨论】:
-
James,请在服务器中启用跟踪并提供生成的日志文件。
-
@IdanAdar,我在主帖中提供了一个下载日志的链接。
-
James,您能否提供两个 Web 应用程序分开(2 个不同的服务器)和两个 Web 应用程序位于同一服务器时的 wireshark 日志?
标签: ibm-mobilefirst mobilefirst-adapters mobilefirst-server