从 http 调用过程时出错

Posted

技术标签:

【中文标题】从 http 调用过程时出错【英文标题】:Error when invoking procedure from http 【发布时间】:2013-10-02 14:19:42 【问题描述】:

我正在尝试从本地 Worklight Studio(带有修订包 1 的版本 6)的示例项目 Module_07_04_nativeAPIForiosPush 调用适配器“PushAdapter”,并在浏览器中收到以下错误:

/*-secure-
"errors":["I O: Unexpected character 'd' on line 1, 
column 27"],"isSuccessful":false,"warnings":[],"info":[]*/

我使用的网址是:

http://192.168.1.106:10080/Module_07_04_nativeAPIForiOSPush/invoke?adapter=PushAdapter&procedure=submitNotification&parameters=['worklight,'doesitwork']

我查看了本地 Worklight 服务器的 messages.log,它抛出了这个错误:

[10/2/13 9:34:11:179 EDT] 0000078f 
om.worklight.integration.services.impl.DataAccessServiceImpl E FWLSE0013E: Cannot invoke 
procedure PushAdapter/submitNotification [project Module_07_04_nativeAPIForiOSPush]
java.io.IOException: Unexpected character 'd' on line 1, column 27
at com.ibm.json.java.internal.Tokenizer.next(Tokenizer.java:129)
at com.ibm.json.java.internal.Parser.parseValue(Parser.java:208)
at com.ibm.json.java.internal.Parser.parseArray(Parser.java:162)
at com.ibm.json.java.internal.Parser.parseValue(Parser.java:230)
...

还有一些其他帖子表明解析 Json 对象/数组时存在类似问题。所以,我将返回值改为只返回一个空对象:

return ;

但是,还是同样的错误。通过 Worklight Studio 运行它(运行方式...|调用 Worklight 过程)显示:


   "isSuccessful": true

我打算使用这种方法(从外部应用程序到 Worklight 服务器的 GET 请求)来运行通知推送,但是,如果基本的 GET 请求不起作用,我将不得不寻找另一种方法。

问题 1:这是正确的 Http GET 格式吗? 问题2:对于通知推送调度,这是一种典型的做法吗?

【问题讨论】:

这是一个错字,还是 ['worklight,'doesitwork'] 在 worklight 之后缺少引号? 哇,你是对的!另一双眼睛可以解决问题,谢谢!它正在工作。 @DavidDhuyveter,你应该把它写成答案,这样 DavidW 会标记它,我们可以“关闭”这个。 【参考方案1】:

看起来像 URL 中的拼写错误。工作灯后缺少报价。

【讨论】:

以上是关于从 http 调用过程时出错的主要内容,如果未能解决你的问题,请参考以下文章

从spring boot simpleJDBCcall调用PL SQL过程时出错

IBM Worklight 6.0 - 调用适配器过程时出错

C#使用输出变量调用存储过程时出错,未提供参数

在 MFP V8.0 中调用 Java Script Adapter 过程时出错

从存储过程刷新物化视图时出错(不是有效月份)

调用存储过程,提示:从数据类型 nvarchar 转换为 float 时出错。 请问哪里的错?(不好意思没分了)