Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Soap API错误-类型不正确?_Javascript_Jquery_Api_Soap - Fatal编程技术网

Javascript Soap 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

我目前正在尝试使用一个在我的浏览器中运行良好的API-我的代码如下:

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"]