获取 Ballerina Central 软件包的更新时出错

Error in fetching updates for ballerina central packages

我正在使用来自 ballerina central 的 wso2/soap 包来创建一个简单的肥皂连接器。

import wso2/soap;
import ballerina/io;

endpoint soap:Client soapClient {
    clientConfig:{
        url: "http://localhost:9000"
    }
};

function main (string... args) {

     xml body = xml `<m0:getQuote xmlns:m0="http://services.samples">
                    <m0:request>
                        <m0:symbol>WSO2</m0:symbol>
                    </m0:request>
                </m0:getQuote>`;

    soap:SoapRequest soapRequest = {
        soapAction: "urn:getQuote",
        payload: body
    };

    var details = soapClient->
    sendReceive("/services/SimpleStockQuoteService",soapRequest);

    match details {
       soap:SoapResponse soapResponse => io:println(soapResponse);
       soap:SoapError soapError => io:println(soapError);
    }



}

此代码最初是用 ballerina-0.975.0 版本构建的,运行 成功。最近我安装了 ballerina-0.980.0。在此之后,我在尝试构建代码时收到以下错误。

Compiling source
package:0.0.0
ballerina: format error: ballerina: unsupported program file version 18

发生这种情况是因为我尝试使用 0.980.0 进行构建,而旧的 wso2/soap 包是从主存储库中使用的。正常的逻辑是,我们检查主文件夹中的包,如果没有找到,那么我们从 ballerina 中央存储库中获取。由于我们使用的是较新的芭蕾舞女演员版本,因此此逻辑在这种情况下会失败。较新的 ballerina 版本尝试使用主文件夹中下载的现有 soap 包并抛出错误。相反,我们应该从 ballerina central 获取更新版本的 soap 包。

该问题将在未来的版本中得到解决。目前,您可以使用以下命令拉取最新版本的连接器(与 Ballerina 0.980.0 兼容)并解决问题。

ballerina pull wso2/soap