Получение неопределенного свойства при попытке доступа к Delphi Array из службы SOAP

Как следует из названия. Я унаследовал веб-приложение на основе SOAP на своей работе и хочу настроить некоторые уловки для разбора, чтобы я мог видеть, что оно делает (в основном это генератор SQL-запросов)

Вот класс / объект, который мне возвращают при вызове определенной функции через PHP через мой сервис SOAP.

  ProductAvailabilityResult = Class(TRemotable)
private
FProductAvailableList : ProductAvailabilityList;
FResultArray : TArray<string>;
published
//@PROPERTY@ProductAvailableList:ProductAvailabilityList
//@PROPERTYDESC@List of products and their availibility
property ProductAvailableList : ProductAvailabilityList read FProductAvailableList write FProductAvailableList;
property ResultArray : TArray<string> read FResultArray write FResultArray;

End;

ProductAvailableList это массив объекта, который сам объект содержит несколько свойств. Этот конкретный массив работает.

Однако мой массив ResultArray не работает и продолжает бросать меня Неопределенное свойство: stdClass :: $ ResultArray.

Вот как я присваиваю значения массиву.

  SetLength(ArrayTest,conditionList.Count);
for I := 0 to conditionlist.Count - 1 do
begin
ArrayTest[I] := conditionList[I];
end;
aProductAvailabilityResult.ResultArray := ArrayTest;

conditionList это TStringList, который я выгружаю в свой массив, который затем пытаюсь отобразить первый элемент в файле PHP, который я использую для вызова функции. Первый эхо — это мой массив, который возвращает мою ошибку. Второй цикл for выполняется в другом массиве, который работает нормально.

    echo $result->ResultArray[0];

foreach (($result->ProductAvailableList) as $aProd)
{
echo "PRODUCTID:            $aProd->Productid".'<br>';
echo "-ProductCode:             $aProd->ProductCode".'<br>';
echo "-Quantity Available:      $aProd->Available".'<br>';
echo "-Retail Price:            $$aProd->RetailPrice".'<br>';
echo "-SKU detail:".'<br>';
// For each product, we list the SKU and its availability
foreach (($aProd->SkuAvailableList) as $aSku)
{
echo "--SKUID: $aSku->Skuid / Quantity Available: $aSku->Available".'<br>';
}

РЕДАКТИРОВАТЬ: Только что нашел дополнительную информацию. Глядя на определения WSDL на клиенте, мой массив не появляется там. Как вы можете видеть на скриншоте, мне нужен мой массив, чтобы иметь к нему доступ (там больше, чем в моем классе, потому что я отредактировал его, чтобы сократить этот пост). Почему WSDL не забирает недвижимость?

РЕДАКТИРОВАТЬ 2: ниже заполнено поле, которое я добавил, кажется, он просто не обновлял страницу WSDL должным образом. Тем не менее, я все еще получаю ту же ошибку. Где я должен определить собственность тогда? Это сводит меня с ума …

введите описание изображения здесь

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector