当我尝试从Java适配器调用适配器(HTTP / MYSQL)时出现问题。
当我使用Postmen测试时(在标题上添加了授权) 它总是会出现IO问题:
[I O: Invalid token on line 1, column 14]
。
首先,我想它应该是OAuth问题,我在课堂上添加@OAuthSecurity(enabled=false)
但不起作用。
请你帮我找出问题所在。
代码段:
DataAccessService service = WorklightBundles.getInstance()
.getDataAccessService();
ProcedureQName name = new ProcedureQName("mysqlAdapter",
"getMysqlAdapters");
String para = ""; // String para = "['a','b','c']";
InvocationResult mysql= service.invokeProcedure(name, para);
JSONObject jsMysql = mysql.toJSON();
//String rst = jsMysql.get("key").toString();
当我在Postman上测试时,PS以下代码片段正在运行:
HttpUriRequest request = api.getAdaptersAPI()
.createJavascriptAdapterRequest("mysqlAdapter", "getMysqlAdapters");
try {
HttpResponse response = api.getAdaptersAPI().executeAdapterRequest(request);
JSONObject jsonObj =api.getAdaptersAPI().getResponseAsJSON(response);
return jsonObj.toString();
}
catch (MFPServerOAuthException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return "error";
答案 0 :(得分:0)
我很困惑......
您使用标记“worklight”,但Product Worklight 4.x-6.2没有Java适配器支持。有JavaScript适配器支持,JavaScript适配器可以在服务器上调用Java代码。还可以从Java代码调用JavaScript适配器 - 但不要混淆为Java适配器。
Java 适配器仅在启动 MobileFirst Platform Foundation 7.0 (以前称为“Worklight”,标记为“mobilefirst”)时存在。我之所以提到这一点,是因为您已经提到了OAuth支持,它是与MobileFirst Platform Foundation 7.0中的Java适配器一起引入的。但这与您的任何代码片段无关。 Java适配器看起来不像那样。
所以,
另请注意,此时不可能从JavaScript适配器调用Java适配器(如果要正确理解请求,则与请求相反)。