Ballerina echoservice 示例抛出错误
Ballerina echoservice example throws an error
我刚刚在 Windows[=46= 上安装了 Ballerina 版本 0.8.0 ].按照教程,我尝试了 echoservice 示例。
从 \ballerina-0.8.0\samples\echoService 文件夹启动命令
ballerina run service echoService.bal
我收到了这个回复
error in ballerina program: value
at echo(echoService.bal:6)
at echo(echoService.bal:3)
第 6 行是
resource echo (message m) {
示例 helloworldservice 正常运行。
怎么了?
提前致谢
詹妮
2017 年 2 月 26 日更新:
这是我从 ballerina-0.8.0/samples/echoService 文件夹中执行的代码。我是 运行 它来自 Git Bash,但它与命令提示符相同。
import ballerina.net.http;
@http:BasePath ("/echo")
service echo {
@http:POST
resource echo (message m) {
http:convertToResponse(m);
reply m;
}
}
我启动这个命令
../../bin/ballerina.bat run service echoService.bal
控制台显示相同的错误。
我正在使用 Fiddler 调用服务...
POST http://localhost:9090/echo HTTP/1.1
User-Agent: Fiddler
Host: localhost:9090
Content-Length: 3
sss
...我收到此回复
HTTP/1.1 500 Internal Server Error
Connection: keep-alive
Content-Length: 33
Content-Type: text/plain
error in ballerina program: value
您应该 post 您的整个程序。如 ballerinalang.org 主页所示,我能够成功将其发送到 运行。
这是对我有用的回声样本。
import ballerina.net.http;
@http:BasePath("/echo")
service echo {
@http:POST
resource echo(message m) {
http:convertToResponse(m);
reply m;
}
}
你可以 运行 通过
ballerina run service path/to/echo.bal
从 bin 目录,或者也可以通过 ballerina composer 执行相同的操作。
这是因为您试图在没有 Content-Type 的情况下调用 HTTP POST 方法。你能检查设置 "Content-Type" header 到 "application/json"
我可以重现这个问题。我在 Chrome 中使用了 Advanced REST 客户端应用程序。当我按如下方式设置 Content-Type header 时,我可以解决错误。
Content-Type: application/x-www-form-urlencoded
我刚刚在 Windows[=46= 上安装了 Ballerina 版本 0.8.0 ].按照教程,我尝试了 echoservice 示例。 从 \ballerina-0.8.0\samples\echoService 文件夹启动命令
ballerina run service echoService.bal
我收到了这个回复
error in ballerina program: value
at echo(echoService.bal:6)
at echo(echoService.bal:3)
第 6 行是
resource echo (message m) {
示例 helloworldservice 正常运行。
怎么了?
提前致谢
詹妮
2017 年 2 月 26 日更新: 这是我从 ballerina-0.8.0/samples/echoService 文件夹中执行的代码。我是 运行 它来自 Git Bash,但它与命令提示符相同。
import ballerina.net.http;
@http:BasePath ("/echo")
service echo {
@http:POST
resource echo (message m) {
http:convertToResponse(m);
reply m;
}
}
我启动这个命令
../../bin/ballerina.bat run service echoService.bal
控制台显示相同的错误。
我正在使用 Fiddler 调用服务...
POST http://localhost:9090/echo HTTP/1.1
User-Agent: Fiddler
Host: localhost:9090
Content-Length: 3
sss
...我收到此回复
HTTP/1.1 500 Internal Server Error
Connection: keep-alive
Content-Length: 33
Content-Type: text/plain
error in ballerina program: value
您应该 post 您的整个程序。如 ballerinalang.org 主页所示,我能够成功将其发送到 运行。
这是对我有用的回声样本。
import ballerina.net.http;
@http:BasePath("/echo")
service echo {
@http:POST
resource echo(message m) {
http:convertToResponse(m);
reply m;
}
}
你可以 运行 通过
ballerina run service path/to/echo.bal
从 bin 目录,或者也可以通过 ballerina composer 执行相同的操作。
这是因为您试图在没有 Content-Type 的情况下调用 HTTP POST 方法。你能检查设置 "Content-Type" header 到 "application/json"
我可以重现这个问题。我在 Chrome 中使用了 Advanced REST 客户端应用程序。当我按如下方式设置 Content-Type header 时,我可以解决错误。
Content-Type: application/x-www-form-urlencoded