gpt4 book ai didi

google-apps-script - wsdl soap 请求中多个元素的问题

转载 作者:行者123 更新时间:2023-12-05 01:17:47 25 4
gpt4 key购买 nike

我在让 wsdl soap 请求中的多个元素工作时遇到问题。当我直接在webservicex站点上直接尝试以下转换时,我得到了当前的货币转换。当我尝试在应用程序脚本中做同样的事情时,它总是返回“0”的速率。我在这里缺少什么?

function getCurrencyConversion2(){
var fromCurr = "USD";
var toCurr = "AUD";
var wsdl = SoapService.wsdl("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL");
Logger.log(wsdl.getServiceNames());
var currencyService = wsdl.getService("CurrencyConvertor");
Logger.log(currencyService.getOperationNames());
//var convertOp = currencyService.getOperation("ConversionRate");
  var param = Xml.element("ConversionRate", [
                  Xml.attribute("xmlns", "http://www.webservicex.net/"),
                  Xml.element("FromCurrency", [fromCurr]),
Xml.element("ToCurrency", [toCurr])
             ]);
var result = currencyService.invokeOperation("ConversionRate", [param]);

return;
}

最佳答案

你会爱上这个的。也难倒了我好一阵子。

问题是 xmlns 的属性区分大小写。您将其添加为 http://www.webservicex.net/当正确的版本是 http://www.webserviceX.NET/ .注意 X.NET在末尾。

以下调整后的版本应该可以正常工作(以 0.9602 作为汇率记录 XML)。

function getCurrencyConversion2(){
var fromCurr = "USD";
var toCurr = "AUD";
var wsdl = SoapService.wsdl("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL");
var currencyService = wsdl.getService("CurrencyConvertor");
var param = Xml.element("ConversionRate", [
Xml.attribute("xmlns", "http://www.webserviceX.NET/"),
Xml.element("FromCurrency", [fromCurr]),
Xml.element("ToCurrency", [toCurr])
]);
var result = currencyService.invokeOperation("ConversionRate", [param]);
Logger.log(result.toXmlString());
return;
}

由于 SOAP 的复杂性以及该服务没有返回有值(value)的错误消息这一事实,这很痛苦。

关于google-apps-script - wsdl soap 请求中多个元素的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13354303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com