从Java调用适配器 - Worklight 6.2

时间:2016-06-22 06:42:41

标签: worklight-adapters worklight-studio

以下是从worklight到调用适配器的java示例代码。

public static void testAdapterCall(){
      try{
      DataAccessService service = WorklightBundles.getInstance().getDataAccessService();
      String paramArray = "[5, 3,]";
      ProcedureQName procedureQname = new ProcedureQName("CalculatorAdapter", "addTwoIntegers");
      InvocationResult result = service.invokeProcedure(procedureQname, paramArray);
      }
      catch(Exception e)
      {
        e.printStackTrace();
      }

    }

当它进入行

时,我得到一个空指针异常
DataAccessService service = WorklightBundles.getInstance().getDataAccessService();

日志如下:

java.lang.NullPointerException
at com.worklight.customcode.Calculator1.testAdapterCall(Calculator1.java:38)
at com.worklight.customcode.Calculator1.main(Calculator1.java:53)

版本: Java 1.7 Worklight 6.2 部署了适配器,服务器也在本地运行。 我也在其他网站上看到了这个问题,但没有回答。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

请参阅以下PDF文档中的文档,从第13页开始。

public void callProcedure() {
    DataAccessService service = worklightBundles.getInstance().getDataAccessService();
    String paramArray = "['param1', 'param2', 'param3']";
    ProcedureQName procedureQName = new ProcedureQName("adapterName",
"procedureName");
    InvocationResult result = service.invokeProcedure(ProcedureQName,
paramArray);
    JSONObject jsonObject = result.toJSON();
    String value = (String)jsonObject.get("key");
}

确保在将代码输入Java IDE(例如Eclipse)后添加任何缺少的包含。