0

使用IBM工作燈版本6.1.0.02-20160314-1430從IBM Workilght服務器收到錯誤[它是不是一個函數,它是「對象」。]

在參考適配器實現AES下面的鏈接。 https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.1/server-side-development/javascript-adapters/using-java-adapters/

它在我的本地服務器上的Eclipse中的預期工作正常。生成的war文件和服務器的相同部署。當我嘗試訪問獲取低於錯誤響應時從服務器。

下面的東西是交叉檢查。

  1. 從服務器收集的戰爭文件,交叉檢查的類文件和服務器的那

  2. 重新啓動目前的戰爭文件部署

我無法辨認出後拍攝錯誤是。從服務器

錯誤響應:

{ 
    "status": 200, 
    "invocationContext": null, 
    "errorCode": "PROCEDURE_ERROR", 
    "errorMsg": "Procedureinvocationerror.EcmaError: TypeError: Cannotcallpropertyencryptinobject[ JavaPackagecom.winjit.EncryptionDecryption ].Itisnotafunction, itis\"object\". (API_Adapter-impl.js#7)", 
    "invocationResult": { 
    "isSuccessful": false, 
    "warnings": [ 

    ], 
    "errors": [ 
     "Ecma Error: TypeError: Cannot call property encrypt in object [JavaPackage com.winjit.EncryptionDecryption]. It is not a function, it is \"object\". (API_Adapter-impl.js#7)" 
    ], 
    "responseID": "3161", 
    "info": [ 

    ] 
    } 
} 
+0

會發生這種情況,如果你的服務器運行的是一個JDK版本,並在適配器的Java代碼中另一個被開發。你能證實嗎? –

+0

謝謝Vivin – Rajendra

回答

0

更新你的JDK 1.8

添加兩個安全策略JAR文件在/JRE/lib/security中

  1. local_policy.jar
  2. US_export_policy.jar
0

由於開發服務器(Eclipse)和服務器(Web球體)的JDK不匹配而導致此錯誤。服務器在JDK 1.6上運行。我降級了我的Eclipse的Java版本。步驟如下(在Mac上)。

  1. 日食 - >首選項 - >爪哇 - >編譯器
  2. 選擇編譯器遵守杆 - > 1.6
  3. 日食 - >首選項 - >爪哇 - >安裝的JRE
  4. 添加JDK 1.6的位置(/庫/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home)
  5. 應用確定
  6. 重建項目(重新啓動服務器,如果必要的話)
  7. 給戰爭文件部署到服務器是重新生成的bin文件夾

它現在對我來說工作正常

相關問題