2015-07-21 83 views
0

我嘗試從Java適配器調用適配器(HTTP/MYSQL)時遇到問題。Worklight Java適配器調用另一個適配器獲取I/O問題

當我使用郵差測試(添加授權表頭) 它總是得到一個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(); 

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

我很困惑...

  1. 您使用標籤「工作燈」,但產品Worklight 4.x-6.2不支持Java適配器。支持JavaScript適配器,並支持JavaScript適配器在服務器上調用Java代碼。還有能力從Java代碼中調用JavaScript適配器 - 但不會混淆爲Java適配器。

  2. 的Java適配器只存在開始MobileFirst平臺的建立7.0(以前稱爲 「工作燈」,標籤是 「mobilefirst」)。我之所以提到這一點是因爲您提到了OAuth支持,該支持與MobileFirst Platform Foundation 7.0中的Java適配器一起引入。但是這與你的任何代碼片段沒有任何關係。一個Java適配器看起來不像這樣。

所以,

還要注意的是,在這個時候是不會輕易可以調用從一個JavaScript適配器一個Java適配器(您的要求相反的方式,如果這是正確的理解)。

+0

謝謝@Idan,我使用的是mobilefirst和JAVA適配器。感謝您的重播,我想我最好再重新閱讀文檔... –