Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача динамического массива SOAP, массив как параметр функции SOAP 
:(
    Опции темы
rainebove
Дата 11.12.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 5.3.2008

Репутация: нет
Всего: нет



Здравствуйте! Есть готовый интерфейс, в нем объявлены 2 типа данных:
Код

typedef DynamicArray<Variant>  ArrOfVar;
typedef DynamicArray<String>  ArrString;

и функция которая их использует:
Код

virtual ArrString Send(const ArrOfVar Params) = 0; 

На клиенте я сделал следующее
Код

static void RegTypes()
{
InvRegistry()->RegisterInterface(__interfaceTypeinfo(Service), L"http://serv.labs.org", L"UTF-8");
InvRegistry()->RegisterDefaultSOAPAction(__interfaceTypeinfo(Service), L"");
RemClassRegistry()->RegisterXSInfo(__arrayTypeinfo(ArrOfVar), L"http://local:8070/Service", L"ArrOfVar");
RemClassRegistry()->RegisterXSInfo(__arrayTypeinfo(ArrString), L"http://local:8070/Service", L"ArrString");
}

в H файле 
Код

namespace NService 
{
typedef DynamicArray<Variant>     ArrOfVar;
typedef DynamicArray<String>     ArrOfStr;
_interface INTERFACE_UUID("{6D84F229-6F96-E582-EB62-0A5953769980}") Service : public IInvokable
{
public:
  virtual ArrString Send(const ArrOfVar Params) = 0;
  };
typedef DelphiInterface<Service> _di_Service;
_di_Service GetService();
}
using  namespace NService;

массив заполнил, передел в параметры функции 
Код

_di_Service s = GetService();

    ArrOfVar ArrAnyType;
    ArrAnyType.set_length(6);

    ArrAnyType[0]=(cxFibersNum->Text);
    ArrAnyType[1]=(cbCrosspieceType->Text);
    ArrAnyType[2]=(TheServiceId);
    ArrAnyType[3]=(cxETO->Text);
    ArrAnyType[4]=(cxStand->Text);
    ArrAnyType[5]=(cxSomeShit->Text);

    s->Send(ArrAnyType);

все скомпилировалось но при выполнении вылетает ошибка Unexpected params quantity.
Интерфейс смотрел там точно есть и функция и типы данных, в чем может быть проблема?

Это сообщение отредактировал(а) rainebove - 11.12.2009, 18:04
PM MAIL   Вверх
SenkraD
Дата 11.12.2009, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 1
Всего: 23



rainebove,  коим образом это связано с сетью?

Что могу сказать, исходя с кода: "У вас в классе массива индексация точно с нуля начинается? -
у делфли принято индексацию с 1 начинать и Builder этому иногда следует этому в своих классах,
а я имею смелость подохревать, что вы пишите на Builder."

P.S. Если пишеш на Builder, то попрори модераторов перенести тему в соотвествующую ветку

Это сообщение отредактировал(а) SenkraD - 11.12.2009, 19:30


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0667 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.