Конференция "Сети" » SOAP запрос с массивом в качестве параметра [D7, WinXP]
 
  • sagit (11.05.13 22:47) [0]
    Есть Web- сервис, к которому мне надо обратиться из Delphi.
    WSDL : http://helpa.pro/api/integration.php?wsdl

    Описание методов сервиса http://zaptrade.ru/integration/

    Я загрузил WSDL в проект, получил описание, в котором все параметры описывались как «Arry» т.к в Delphi такого типа нет, то заменил все на «array of Variant»:


     arra=array of Variant;

     IntegrationPort = interface(IInvokable)
     ['{1D2F546A-B952-7430-4276-2E316BE257F8}']
       function  getStatusHistory(const request: Arra): WideString; stdcall;
       function  getPaymentOperationHistory(const request: Arra): WideString; stdcall;
       function  getOrder(const request: arra): WideString; stdcall;
       function  getOrderItems(const request: Arra): WideString; stdcall;
       function  getUser(const request: Arra): WideString; stdcall;
       function  getUserBalance(const request: Arra): WideString; stdcall;
       function  getAllOrderStatuses(const request: Arra): WideString; stdcall;
       function  addPayment(const request: Arra): WideString; stdcall;
     end;




    Для обрашения к сервису пишу :

    arr1:=vararraycreate([0, 1], varVariant);
    arr1[0]:='Пароль';
    str:=(htpr1 as IntegrationPort).getOrder(arr1);


    Получаю ответ от сервера :
    <error>Неверный пароль</error>

    Подскажите, как правильно передать параметры при вызыве таких фукций.
  • clickmaker © (12.05.13 17:15) [1]
    > Arra

    это же вроде попугай такой...
    судя по описанию, там что-то типа array of integer или другого целого
  • Плохиш © (13.05.13 10:57) [2]
    Судя по примерам, это их собственный пхп-шный soap, а всем остальным нужно использовать get-запросы.
 
Конференция "Сети" » SOAP запрос с массивом в качестве параметра [D7, WinXP]
Есть новые Нет новых   [134427   +34][b:0][p:0.001]