我正在使用 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 包是从主存储库中使用的。正常逻辑是,我们检查主文件夹中的包,如果没有找到,则从芭蕾舞女演员中央存储库中获取。这个逻辑在这种情况下失败了,因为我们使用的是更新的芭蕾舞演员版本。较新的芭蕾舞女演员版本尝试使用在主文件夹中下载的现有肥皂包并引发错误。相反,我们应该从芭蕾舞演员中心获取更新版本的肥皂包。