Регистрация

Загрузить XML в DATASET

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
Старожил
Аватара пользователя
Сообщения: 509
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Загрузить XML в DATASET

Сообщение dmikai » Ср авг 23, 2017 6:14 pm

Добрый день

Никак не получается загрузить данные в DATASET.
Вот программа:
Код: Выделить всё
DEFINE TEMP-TABLE requestResult NO-UNDO
    SERIALIZE-NAME "MultiRef"
    FIELD errorText AS CHARACTER
    FIELD requestId AS CHARACTER
    FIELD returnValue AS INTEGER.

DEFINE DATASET requestResultDset
    XML-NODE-TYPE "HIDDEN"
    FOR requestResult.

DATASET requestResultDset:read-xml("file","result1.txt", ?, ?, ?).


Вот сам XML:
Код: Выделить всё
<multiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:ns2="urn:server.transaction.gramm"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
          id="id0"
          soapenc:root="0"
          soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
          xsi:type="ns2:RequestResult">
    <errorText xsi:type="xsd:string"></errorText>
    <requestId xsi:type="xsd:string">BBD-0023JJK</requestId>
    <returnValue xsi:type="xsd:int">1</returnValue>
</multiRef>


Вот ошибка при загрузке:
Код: Выделить всё
Dataset name 'requestResultDset' in namespace '' not found in XML Document. (13514)


Однако в TEMP-TABLE загружается. Но нужен именно DATASET.
Код: Выделить всё
TEMP-TABLE requestResult:read-xml("file","result1.txt", ?, ?, ?).


Если же попробовать в первом примере создать запись и выгрузить DATASET как XML, то структура очень похожая:
Код: Выделить всё
<MultiRef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <errorText>Test error</errorText>
  <requestId>RequestID</requestId>
  <returnValue>100</returnValue>
</MultiRef>

Администратор
Аватара пользователя
Сообщения: 1870
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Загрузить XML в DATASET

Сообщение Arelav » Пт авг 25, 2017 12:51 pm

Привет!

Заменил в твоём примере multiRef на MultiRef, основываясь на том, в каком виде был выгружен XML из DATASET - это единственное отличие.
И загрузка в DATASET прошла без ошибок.

Код: Выделить всё
<MultiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:ns2="urn:server.transaction.gramm"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
          id="id0"
          soapenc:root="0"
          soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
          xsi:type="ns2:RequestResult">
    <errorText xsi:type="xsd:string"></errorText>
    <requestId xsi:type="xsd:string">BBD-0023JJK</requestId>
    <returnValue xsi:type="xsd:int">1</returnValue>
</MultiRef>


Возможно имеет смысл открыть официальный кейс в саппорте: https://support.progress-tech.ru/

Старожил
Аватара пользователя
Сообщения: 509
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Re: Загрузить XML в DATASET

Сообщение dmikai » Вс авг 27, 2017 9:57 am

Arelav писал(а):Привет!

Заменил в твоём примере multiRef на MultiRef, основываясь на том, в каком виде был выгружен XML из DATASET - это единственное отличие.

Возможно имеет смысл открыть официальный кейс в саппорте: https://support.progress-tech.ru/


Спасибо!

Помогло. И сразу вспомнил, что неделю обратно читал пост про регистр в XML тэгах.
То есть еэто не баг!

Администратор
Аватара пользователя
Сообщения: 1870
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Загрузить XML в DATASET

Сообщение Arelav » Пн авг 28, 2017 3:22 pm

Ок. Пожалуйста!

P.S.
Меня просто смутило то, что в примерах из сети написание как multiRef распространённое явление.

Вернуться в PROGRESS - 4GL - ПРОГРАММИРОВАНИЕ

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7