Как искать папки, избегая ошибки «BaseRef - абстрактный тип и не может быть создан»? - PullRequest
0 голосов
/ 09 октября 2018

Выполнение следующего запроса к веб-службам NetSuite:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope ...>
    <soap:Header>
        <platformMsgs:tokenPassport ...>
            ...
        </platformMsgs:tokenPassport>
    </soap:Header>
    <soap:Body>
        <platformMsgs:get>
            <platformMsgs:search>
                <searchRecord xsi:type="FolderSearch"/>
            </platformMsgs:search>
        </platformMsgs:get>
    </soap:Body>
</soap:Envelope>

Возвращает ответ xml с кодом ошибки : soapenv: Server.userException и faultstring :

rg.xml.sax.SAXException: {urn: core_2017_2.platform.webservices.netsuite.com} BaseRef - абстрактный тип, создание которого невозможно создать

Что означает это сообщение об ошибке?И какова правильная структура xml для запроса?

1 Ответ

0 голосов
/ 09 октября 2018

Кажется, у меня был элемент операции "поиск" внутри операции "получить".Я смог получить ожидаемый ответ, изменив xml запроса на:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope ...>
    <soap:Header>
        <platformMsgs:tokenPassport ...>
          ...
        </platformMsgs:tokenPassport>
    </soap:Header>
    <soap:Body>
        <platformMsgs:search>
            <platformMsgs:search xsi:type="FolderSearch" xmlns="urn:filecabinet_2017_2.documents.webservices.netsuite.com" />
        </platformMsgs:search>
    </soap:Body>
</soap:Envelope>

Не уверен, что это лучший синтаксис для xml, но он работает.Все еще не уверен, что имел в виду «BaseRef».

...