如何搜索文件夹,避免错误"BaseRef is an abstract type and cannot be instantiated"?



向NetSuite Web服务发出以下请求:

<?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错误字符串

rg.xml.sax.SAXException: {urn:core_2017_2.platform.webservices.netsuite.com}BaseRef 是一个抽象类型,不能实例化

此错误消息是什么意思?请求的正确 xml 结构是什么?

似乎我在"get"操作中有"搜索"操作元素。通过将请求 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"指的是什么。

相关内容

最新更新