В настоящее время я пытаюсь использовать 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);
}
Это похоже на подключение к услуге, но выдает ошибку:
Запрос не выполнен для http://zulutrade.com/WebServices/Performance.asmx, возвращен код 500. Ответ сервера: soap: ClientServer не смог прочитать запрос. ---> В документе XML есть ошибка (1, 640). ---> Ошибка проверки экземпляра: '2' не является допустимым значением для LotSize. (строка 26)
Чтобы установить каждый из параметров, я скопировал именно полезную нагрузку из инструментов разработчика Chrome при доступе к странице (перейдите к http://www.zulutrade.com/TradeHistoryIndividual.aspx?pid=24508 и измените количество видимых сделок при просмотре запросов XHR на увидеть полезную нагрузку). Поскольку я установил для lotSize значение 2 в соответствии с полезной нагрузкой в запросе браузера, я ожидал, что это сработает, но это явно не работает.
Глядя на схему в http://zulutrade.com/WebServices/Performance.asmx?WSDL, Я вижу следующее для lotSize:
<s:element minOccurs="1" maxOccurs="1" name="lotSize" type="tns:LotSize"/>
Это похоже на тип tns: LotSize - поэтому я получаю сообщение об ошибке? Если да, то как я могу передать что-то подобное в моем запросе?
Спасибо!