0

我正在尝试 Ballerina 集成器教程中给出的示例,同时将 json 运行到 xml,然后上传到面临问题的 ftp 示例:

error org.wso2.ei.b7a.ftp.core.util.BallerinaFTPException.

我知道这个问题的原因,但不知道我必须把那个命令放在哪里。请帮我解决问题。

问题的原因是: conf 文件中提到了 ftp 凭据,我将 conf 文件放在根目录下但它没有引用。需要给

b7a.config.file=src/upload_to_ftp/resources/ballerina.conf

但我不知道我必须在哪里给这个?

提前致谢。

4

2 回答 2

1

您可以在运行生成的 jar 文件时添加 -b7a.config.file。

官方文档: https ://ei.docs.wso2.com/en/latest/ballerina-integrator/develop/running-on-jvm/

但是,将 ballerina.conf 文件保存在根目录中应该可以。Ballerina 在运行时会自动查找 conf 文件。确保 conf 文件位于 src 目录之外。


对于您提到的错误,您可以添加日志以查看json是否已正确转换为xml?由于代码的结构是检查是否发生了转换,所以它应该打印一个 xml

if (employee is xml) {
            var ftpResult = ftp->put(remoteLocation, employee);
            if (ftpResult is error) {
                log:printError("Error", ftpResult);
                response.setJsonPayload({Message: "Error occurred uploading file to FTP.", Resason: ftpResult.reason()});
            } else {
                response.setJsonPayload({Message: "Employee records uploaded successfully."});
            }
        } else {
            response.setJsonPayload({Message: "Error occurred tranforming json to xml.", Resason: employee.reason()});
        }

if( employee is xml )部分将检查转换是否成功。

将文件发送到服务器后也是如此。如果文件还没有发送,那么这ftpResult将是一个错误。基本上,如果您收到消息,{ Message : "Employee records uploaded successfully" }那么所有检查都应该通过。

于 2019-12-09T09:28:36.853 回答
0

我已将凭据直接传递给 ftpConfig,然后它工作正常。转换发生,转换后的文件已成功上传到 ftp 位置

ftp:ClientEndpointConfig ftpConfig = { protocol: ftp:SFTP, host: "corpsftp.dfaDFDA.com", port: 22, secureSocket: { basicAuth: { username: "DDFDS", password: "FADFHYFGJ" } } };

Output { "Message": "员工记录上传成功。" }

在此处输入图像描述

于 2020-01-27T11:40:54.270 回答