Article - CS286440

ThingWorx Azure IoT Hub Connector: the edge-device-demo sample application throws error upon launch

Modified: 20-Sep-2024   


Applies To

  • ThingWorx Connection Server 8.2
Windows 10 x64

Description

  • The following error is showing when running edge-device-demo.bat from Azure IoT Hub Connector:
No signature of method: java.lang.Long.call() is applicable for argument types: (java.lang.Long) values: [1]
Possible solutions: wait(long), wait(), abs(), any(), abs(), wait(long, int)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
        at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:49)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at com.thingworx.protocol.azure.iot.demo.AzureIotEdgeDeviceDemo$_main_closure2.doCall(AzureIotEdgeDeviceDemo.groovy:122)
        at com.thingworx.protocol.azure.iot.demo.AzureIotEdgeDeviceDemo$_main_closure2.doCall(AzureIotEdgeDeviceDemo.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019)
        at groovy.lang.Closure.call(Closure.java:426)
        at groovy.lang.Closure.call(Closure.java:420)
        at groovy.json.JsonDelegate.cloneDelegateAndGetContent(JsonDelegate.java:78)
        at groovy.json.JsonBuilder.call(JsonBuilder.java:208)
        at groovy.json.JsonBuilder$call.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at com.thingworx.protocol.azure.iot.demo.AzureIotEdgeDeviceDemo.main(AzureIotEdgeDeviceDemo.groovy:116)
  • Steps to reproduce on Windows 10 operating system:
    • Download Azure IoT Connector extension: 219-ThingWorx-Azure-IoT-Hub-Connector-2-0-0.zip
    • Unzip the archive
    • Modify \demo\edge-device-demo\edge-device.conf file with relevant data:
e.g:
// Azure Edge Device Demo configuration
azure-edge-device
{ deviceId = "<Device1>" iotHubHostname = "<hub_name>" registryPolicyName = "registryReadWrite" registryPolicyKey = "<registry_policy_key>" }
  • Add Environment variable: EDGE_DEVICE_DEMO_OPTS=<path_to_edge-devices.conf>
  • Execute \demo\edge-device-demo\bin\edge-device-demo.bat
  • The following error is received:
17:12:20.913 [main] DEBUG c.t.p.a.i.d.AzureIotEdgeDeviceDemo - Started at:1522851140904
17:12:21.856 [main] DEBUG c.t.p.a.i.d.AzureIotEdgeDeviceDemo - Device already exists, returning it: id=Device1
17:12:21.859 [main] INFO c.t.p.a.i.d.AzureIotEdgeDeviceDemo - Edge device: id=Device1, primaryKey=<primary_key>, secondaryKey=<secondary_key>, eTag=MTMzMDgwNzEy
log4j:WARN No appenders could be found for logger (com.microsoft.azure.sdk.iot.device.IotHubConnectionString).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" groovy.lang.MissingMethodException: No signature of method: java.lang.Long.call() is applicable for argument types: (java.lang.Long) values: [1]
Possible solutions: wait(long), wait(), abs(), any(), abs(), wait(long, int)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:49)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at com.thingworx.protocol.azure.iot.demo.AzureIotEdgeDeviceDemo$_main_closure2.doCall(AzureIotEdgeDeviceDemo.groovy:122)
at com.thingworx.protocol.azure.iot.demo.AzureIotEdgeDeviceDemo$_main_closure2.doCall(AzureIotEdgeDeviceDemo.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019)
at groovy.lang.Closure.call(Closure.java:426)
at groovy.lang.Closure.call(Closure.java:420)
at groovy.json.JsonDelegate.cloneDelegateAndGetContent(JsonDelegate.java:78)
at groovy.json.JsonBuilder.call(JsonBuilder.java:208)
at groovy.json.JsonBuilder$call.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at com.thingworx.protocol.azure.iot.demo.AzureIotEdgeDeviceDemo.main(AzureIotEdgeDeviceDemo.groovy:116)
This is a printer-friendly version of Article 286440 and may be out of date. For the latest version click CS286440