Worklight Java适配器调用另一个适配器获取I / O问题

时间:2015-07-21 01:17:36

标签: adapter ibm-mobilefirst

当我尝试从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";

1 个答案:

答案 0 :(得分:0)

我很困惑......

  1. 您使用标记“worklight”,但Product Worklight 4.x-6.2没有Java适配器支持。有JavaScript适配器支持,JavaScript适配器可以在服务器上调用Java代码。还可以从Java代码调用JavaScript适配器 - 但不要混淆为Java适配器。

  2. Java 适配器仅在启动 MobileFirst Platform Foundation 7.0 (以前称为“Worklight”,标记为“mobilefirst”)时存在。我之所以提到这一点,是因为您已经提到了OAuth支持,它是与MobileFirst Platform Foundation 7.0中的Java适配器一起引入的。但这与您的任何代码片段无关。 Java适配器看起来不像那样。

  3. 所以,

    另请注意,此时不可能从JavaScript适配器调用Java适配器(如果要正确理解请求,则与请求相反)。