我正在使用芭蕾舞女演员中央的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软件包是从主存储库中使用的。正常的逻辑是,我们检查主文件夹中的软件包,如果找不到,则从芭蕾舞女演员中央存储库中获取。在这种情况下,由于我们使用的是芭蕾舞女演员的较新版本,因此此逻辑失败。较新的芭蕾舞演员版本尝试使用在home文件夹中下载的现有soap软件包,并引发错误。相反,我们应该从芭蕾舞女演员中心获取较新版本的肥皂包。
答案 0 :(得分:1)
此问题将在将来的版本中修复。目前,您可以使用以下命令拉出最新版本的连接器(与Ballerina 0.980.0兼容)并解决问题。
ballerina pull wso2/soap