Javascript Soap API错误-类型不正确?
我目前正在尝试使用一个在我的浏览器中运行良好的API-我的代码如下:Javascript Soap API错误-类型不正确?,javascript,jquery,api,soap,Javascript,Jquery,Api,Soap,我目前正在尝试使用一个在我的浏览器中运行良好的API-我的代码如下: function getHistory() { var wsdl = SoapService.wsdl("http://zulutrade.com/WebServices/Performance.asmx?WSDL"); var performanceService = wsdl.getService("PerformanceWebService"); var param = Xml.element("Get
function getHistory() {
var wsdl = SoapService.wsdl("http://zulutrade.com/WebServices/Performance.asmx?WSDL");
var performanceService = wsdl.getService("PerformanceWebService");
var param = Xml.element("GetProviderTrades", [
Xml.attribute("xmlns", "ZuluTrade.WebServices"),
Xml.element("length",["100"]),
Xml.element("sortBy",["dc"]),
Xml.element("sortAscending",[false]),
Xml.element("providerId",["24508"]),
Xml.element("currencyIds",["[]"]),
Xml.element("fromDateStr",["1984-04-24"]),
Xml.element("toDateStr",["2011-09-10"]),
Xml.element("validTrades",[true]),
Xml.element("lotSize",["2"])
]);
//var envelope = performanceService.getSoapEnvelope("GetProviderTrades", param)
//Logger.log(envelope);
var result = performanceService.GetProviderTrades(param);
Logger.log(result);
}
这似乎正在连接到服务,但正在生成错误:
请求返回代码500失败。服务器响应:soap:ClientServer无法读取请求。-->XML文档(1640)中存在错误。-->实例验证错误:“2”不是LotSize的有效值。(第26行)
为了设置每个参数,我在访问页面时准确地复制了Chrome开发者工具的有效负载(在查看XHR请求以查看有效负载时,转到并更改可见交易的数量)。由于我已经根据浏览器请求中的有效负载将lotSize设置为2,所以我本以为这会起作用,但它显然不起作用
查看中的模式,我可以看到LotusSize的以下内容:
<s:element minOccurs="1" maxOccurs="1" name="lotSize" type="tns:LotSize"/>
这看起来像是tns:LotSize类型-这就是我得到错误的原因吗?如果是,我如何在请求中传递这种类型的内容
谢谢 从WSDL中您可以看到
<s:simpleType name="LotSize">
<s:restriction base="s:string">
<s:enumeration value="Micro"/>
<s:enumeration value="Mini"/>
<s:enumeration value="Standard"/>
</s:restriction>
</s:simpleType>
Xml.element("lotSize","Mini") // 2nd value, instead of ["2"]