Ошибка API мыла - неверный тип? - PullRequest
       2

Ошибка API мыла - неверный тип?

0 голосов
/ 11 сентября 2011

В настоящее время я пытаюсь использовать 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 - поэтому я получаю сообщение об ошибке? Если да, то как я могу передать что-то подобное в моем запросе?

Спасибо!

1 Ответ

1 голос
/ 11 сентября 2011

afaik из 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>

Так что lotSize может быть

Xml.element("lotSize","Mini") // 2nd value, instead of ["2"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...