我正在使用“ wso2 / ftp”包进行某些文件传输过程,并且在主.bal文件中具有如下所示的ftp:Client端点。
endpoint ftp:Client server1 {
protocol: ftp:FTP,
host:<ip_address>,
port:21,
secureSocket: {
basicAuth: {
username: <user_name>,
password: <password>
}
}
};
将此端点传递给另一个.bal文件中的公共功能的方法是什么。
尝试照做
function functionName(ftp:Client server1){
functionFromOtherBalFile(server1);
}
但收到错误消息
invalid action invocation, expected an endpoint
来自第二个.bal文件,其中包含“ functionFromOtherBalFile”实现。
“ functionFromOtherBalFile”的实现:
public function functionFromOtherBalFile(ftp:Client server1){
var readFile=server1->get("/file.txt");
match readFile{
error err=>{
io:println("An error occured");
return err;
}
io:ByteChannel =>{
io:println("Success");
return readFile;
}
}
}
有人可以帮我解决这个问题。
答案 0 :(得分:4)
这是将端点作为参数传递给函数的方法。
import ballerina/http;
import ballerina/io;
function main (string... args) {
endpoint http:Client cheapAir {
url: "http://localhost:9090/CheapAir"
};
invoke(cheapAir);
}
function invoke(http:Client client) {
endpoint http:Client myEP = client;
json reqPayload = {firstName:"Sameera", lastName:"Jayasoma"};
http:Response response = check myEP -> post("/bookFlight", reqPayload);
json resPayload = check response.getJsonPayload();
io:println(resPayload);
}