应用服务器
数据库服务器
我们有一个MobileFirst应用程序,它是现有应用程序的移动前端。现有的应用程序是一个提供WebSphere web服务的RESTful应用程序。MobileFirst应用程序通过WebSphere适配器与现有的MobileFirst应用程序进行接口。RESTful web服务URL是受保护的URL,使用LDAP服务URL进行身份验证,并创建一个LTPA。LDAP是通过WAS在WebSphere中配置的。
我们的MobileFirst应用程序工作良好,可以连接和使用RESTful web服务,但前提是MobileFirst应用程序运行在单独的WebSphere配置文件或单独的WebSphere服务器上。如果我们试图将MobileFirst应用程序安装到与提供RESTful web服务的现有WebSphere应用程序相同的WebSphere配置文件中,则会中断。移动设备成功地使用MobileFirst进行身份验证,然后调用适配器来调用RESTful web服务调用。但是,下一个来自移动设备的Adapter调用以HTTP 401错误结束,这是一个授权错误。
我推测,在Adapter使用我们现有的提供web服务的WebSphere应用程序进行身份验证之后,这将覆盖移动设备和MobileFirst之间的身份验证。
我的问题如下。
成本是一个值得关注的问题,因为我们不一定希望仅仅为了运行MobileFirst而添加一个物理上独立的服务器的额外操作成本。
从操作角度来看,添加和维护多个perspective是一项额外的工作。
理想情况下,我们非常希望在同一个WebSphere配置文件中运行这两个应用程序。
以下是到trace.log、SystemOut.log、SystemErr.log和firebug-控制台的Google链接(不需要登录)
MobileFirst应用程序使用“预览作为公共资源”在浏览器中运行。当使用实际的安卓或iOS设备时,我得到了同样的结果。MobileFirst应用程序WAR运行在与它通过适配器访问的web服务WAR相同的配置文件中。当MobileFirst应用程序WAR在单独的WAS中或在单独的WAS服务器上运行时,同样的代码可以成功地工作。
请给我建议。
发布于 2015-07-09 15:53:47
我自己解决了这个问题。这是我的团队从另一个团队继承下来的代码库。
正在发生的事情是,移动设备正在启动与运行在MobileFirst上的WebSphere的连接,这将创建一个JSESSIONID和一个LTPA2Token cookie。然后调用一个适配器,该适配器调用在同一个WebSphere配置文件中运行的web服务的HTTP调用。调用web服务创建了新的JSESSIONID和LTPA2Token cookie。这些新的cookie被返回到移动设备,移动设备上的JavaScript代码采用这些新的cookie值,然后覆盖document.cookies,它删除了原始cookie。然后,当移动设备试图在随后的调用中与MobileFirst连接时,它的会话无效,最终得到一个HTTP401错误,这是一个授权错误。因此,我们将此问题归因于应用程序的糟糕实现。
https://stackoverflow.com/questions/31122032
复制相似问题