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."
}
我正在尝试 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." }