我正在使用 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 中找到了这篇文章,其中提到了与我所看到的类似的问题。
这也是正确的原因是我正在玩一个 JavaAdapter,我打算用它来与后台 RESTful 服务交互。我遇到了问题,曾一度考虑过使用 Jersey 的想法。我想我曾至少将一个 Jersey jar 文件复制到项目的 server/lib 文件夹中,并且可能已将其推送到服务器。虽然我已经完成了这个操作,但再次卸载、删除 ~/.ibm 下的所有内容并重新安装后,jar 将不再存在。我仍然遇到同样的问题。
卸载是否有可能不会删除自由配置文件或 WAS 配置,并且这些 jar 会以某种方式持续存在?