0

我是 kura 的新手,我一直在尝试使用 Amit 的 MQTT应用程序远程卸载部署包,但我无法这样做。这是我从应用程序发送的请求有效负载 -

dp.name=hello_osgi

job.id=12345891011L

dp.version=1.0.0

我在响应主题中收到以下错误-

    -- listing properties --
    response.code=500
    response.exception.message=java.lang.String cannot be cast to java.lang.Long,
    response.exception.stack=java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long           
            at org.eclipse.kura.core.deployment.uninstall.DeploymentPackageUninstallOptions.
            <init>(DeploymentPackageUninstallOptions.java:38)     
            at org.eclipse.kura.core.deployment.CloudDeploymentHandlerV2.doExecUninstall(CloudDeploymentHandlerV2.java:594)                
            at org.eclipse.kura.core.deployment.CloudDeploymentHandlerV2.doExec(CloudDeploymentHandlerV2.java:343)                
            at org.eclipse.kura.cloud.MessageHandlerCallable.call(Cloudlet.java:270)            
            at org.eclipse.kura.cloud.MessageHandlerCallable.call(Cloudlet.java:1)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)      
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)               
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)               
            at java.lang.Thread.run(Thread.java:745) ,
            response.code=500

         Malformed uninstall request

以下是kura控制台-

16:12:04,707 [MQTT Call: test-client] INFO  CloudServiceImpl:440  -               Message arrived on topic: $EDC/amir-kura/test-client/DEPLOY-V2/EXEC/uninstall
16:12:04,709 [pool-3-thread-2] ERROR CloudDeploymentHandlerV2:597  - Malformed uninstall request!
16:12:04,710 [pool-3-thread-2] INFO  DataServiceImpl:441  - Storing message on topic :$EDC/#account-name/CLIENT_QED0U1F74NLHA7M0Q5KI606QAU/DEPLOY-V2/REPLY/REQUEST_OTFGFHBKFSCVOI156408A4SU26, priority: 1
16:12:04,733 [DataServiceImpl:Submit] INFO  MqttDataTransport:512  - Publishing message on topic: $EDC/amir-kura/CLIENT_QED0U1F74NLHA7M0Q5KI606QAU/DEPLOY-V2/REPLY/REQUEST_OTFGFHBKFSCVOI156408A4SU26 with QoS: 0
16:12:04,745 [pool-3-thread-2] INFO  DataServiceImpl:444  - Stored message on topic :$EDC/#account-name/CLIENT_QED0U1F74NLHA7M0Q5KI606QAU/DEPLOY-V2/REPLY/REQUEST_OTFGFHBKFSCVOI156408A4SU26, priority: 1

还有其他方法可以发送请求有效载荷吗?

4

1 回答 1

0

快速浏览一下DeploymentPackageUninstallOptions会发现您是job.id作为String而不是Long发送的。

代替

String reqId = "12345891011L";
payload.addMetric("job.id", reqId);

代码应该做

long reqId = 12345891011L;
payload.addMetric("job.id", reqId);

或者更好的是,使用已经以正确类型实现所有方法的KuraUninstallPayload 。

我不知道 Amit 的 MQTT UTility,但我认为您可以通过某种方式设置变量的类型(或更改他的应用程序以设置正确的类型,然后发送拉取请求)。

于 2017-05-09T07:27:31.013 回答