访问MobileFirst适配器

时间:2015-12-08 14:34:09

标签: ibm-mobilefirst mobilefirst-adapters mobilefirst-cli

我正在使用MobileFirst CLI 7.1,Java 1.8.0_65(如果重要的话,在Mac OS X 10.9.5上)。我已经在我目前的环境中工作了大约一个月,但突然遇到了我开发的所有适配器的问题,这些适配器一直在成功运行,直到现在。

从浏览器进行测试时出现初始错误。我想也许这与WL JavaScript库使用在服务器上运行的适配器进行身份验证的方式有关(清除浏览器缓存通常会解决此问题,但在这种情况下不会解决此问题。)

[.../common/query] failure. state: 500, response: undefinedWL.Logger.__log @ worklight.js:5377
worklight.js:5377 Client registration failed with error: {"responseHeaders":{"$WSEP":"","Date":"Tue, 08 Dec 2015 14:07:51 GMT","Connection":"Close","Content-Type":"text/html;charset=UTF-8","X-Powered-By":"Servlet/3.0","Transfer-Encoding":"chunked","Content-Language":"en-...

如果这不起作用,我尝试从CLI测试适配器,产生错误

undefined:1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.
^
SyntaxError: Unexpected token <
    at Object.parse (native)
...

在控制台日志中没有非常有用且没有真实信息(至少没有任何意义)

我上周正在编写一个Java适配器,所以我想我会尝试看看我是否得到了不同的响应(我也尝试过创建一个新的项目并使用相同的结果清空适配器)。基本上从命令行测试似乎工作(没有响应,但也没有错误)。我不认为它有效(虽然我持怀疑态度),所以我的目标是使用Chrome插件(高级REST客户端插件)测试相同的适配器。我实际上没有达到测试适配器的程度,因为用于获取身份验证令牌的POST失败(您发布了以下url / authorization / v1 / testtoken并且应该恢复身份验证令牌)。我实际收到的是一大堆HTML。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
<div id="error"> Exception thrown by application class 'org.apache.wink.server.internal.RequestProcessor.logException:273'
</div>
<div id="code">
java.lang.NullPointerException: <br>
<div id="stack">at org.apache.wink.server.internal.RequestProcessor.logException(RequestProcessor.java:273)<br>at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:226)<br>at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)<br>at org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:133)<br>at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)<br>at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1285)<br>at [internal classes]<br>at **com.worklight.authorization.server.AuthorizationServerFilter.doFilter**(AuthorizationServerFilter.java:88)<br>at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:206)<br>at [internal classes]<br>at com.worklight.analytics.AnalyticsFilter.doFilter(AnalyticsFilter.java:124)<br>at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:206)<br>at [internal classes]<br>
</div>
</div>

在我看来,授权过滤器由于某种未知原因而失败。 我昨天尝试卸载并重新安装MF CLI,但这个错误刚刚重新浮出水面。这是我唯一能想到再做的事情,但也许我错过了一些本地文件,我需要在卸载完成后手动删除...? 上次我删除了〜/ .ibm下的所有内容

我刚刚在developerworks中找到了这篇文章,它提到了与我所看到的类似的问题。

https://www.ibm.com/developerworks/community/forums/html/topic?id=ae0a1814-7ce3-49f5-b582-c9ecf16fa51a

这也是正确的原因是我正在玩JavaAdapter,我计划使用它与后台RESTful服务进行交互。我遇到了问题并且玩弄了一次使用泽西岛的想法。我想我一次将至少一个Jersey jar文件复制到项目的server / lib文件夹中,并且可能已将其推送到服务器。虽然我已经预料到,再次卸载,删除〜/ .ibm下的所有内容并重新安装,这些罐子将不再存在。我仍然遇到同样的问题。

卸载是否可能不会删除自由配置文件或WAS配置,并且这些jar会以某种方式持续存在?

1 个答案:

答案 0 :(得分:1)

原来/最新版本的MobileFirst CLI(20151130-1653)存在问题。我备份到之前的版本(20150913-2352)并且我的适配器再次开始工作 - 显然我在重新安装过程中清理了服务器和tmp文件。

我相信已经有不少人提出同样的问题,并且已经在IBM内部成为PMR。