JSON 到 XML 中的问题并在 Ballerina Integrator 中上传到 FTP

Issues in JSON to XML and Upload to FTP in Ballerina Integrator

我正在尝试 Ballerina 集成器教程中给出的样本,而 运行 json 到 xml 然后上传到 ftp 面临问题的样本:

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

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

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

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

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

提前致谢。

生成的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" } 消息,那么所有检查都应该通过了。

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

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

输出 { "Message": "Employee records uploaded successfully." }