【问题标题】:NetSuite SuiteTalk asyncAddList SoapFaultNetSuite SuiteTalk asyncAddList SoapFault
【发布时间】:2015-09-02 18:11:42
【问题描述】:

我正在尝试使用 NetSuite 的 SuiteTalk asynchAddList 操作,使用 PHPToolkit_2015_1 异步添加多条记录。他们的2015_1 WSDL 表明这是一个有效的操作:

<operation name="asyncAddList">
    <input name="asyncAddListRequest" message="tns:asyncAddListRequest"/>
    <output name="asyncAddListResponse" message="tns:asyncAddListResponse"/>
    <fault name="InvalidSessionFault" message="tns:InvalidSessionFault"/>
    <fault name="InvalidCredentialsFault" message="tns:InvalidCredentialsFault"/>
    <fault name="ExceededRecordCountFault" message="tns:ExceededRecordCountFault"/>
    <fault name="ExceededRequestSizeFault" message="tns:ExceededRequestSizeFault"/>
    <fault name="ExceededRequestLimitFault" message="tns:ExceededRequestLimitFault"/>
    <fault name="UnexpectedErrorFault" message="tns:UnexpectedErrorFault"/>
</operation>

我已经测试了与 NetSuite 的连接,addList 请求可以正常工作。 addListasyncAddList 请求 XML 是相同的,除了正文中的主标记:

<Body>
    <asyncAddList>
        <record xsi:type="CustomRecord">
            <recType internalId="100" />
            <customFieldList>
                <customField scriptId="custrecord_name" xsi:type="SelectCustomFieldRef">
                    <value internalId="500" />
                </customField>
            </customFieldList>
        </record>
    </asyncAddList>
</Body>

虽然addList 成功,但对于asyncAddList 请求,我得到以下响应:

Fatal error: Uncaught SoapFault exception: [soapenv:Server.userException] An unexpected error occurred.

在 NetSuite 的 Web 服务使用日志中,不会记录此操作。

WSDL 显示 asyncAddList 操作可以返回 UnexpectedErrorFault,但 NetSuite 的文档仅详细说明了此故障一次 (This fault is thrown in the event of an occurrence of an unexpected exception.),但这不是很有帮助。

有人有在 SuiteTalk 中使用asyncAddList 的经验吗?任何帮助将不胜感激!

更新:我也尝试执行 asyncUpdateList 操作,但它也产生了致命错误。然而,正常的 updateList 操作是成功的。这似乎是异步操作特有的问题。

更新 #2:异步请求开始工作一天,然后停止工作几天,然后又开始工作一天。我有一个 NetSuite 支持的未决案例,他们正在调查这个问题。一旦他们找到解决方案就会更新。

【问题讨论】:

    标签: php web-services soap wsdl netsuite


    【解决方案1】:

    我不太确定,但我记得使用 SOAP 连接到第 3 方应用程序时遇到过类似问题。好像登陆不了你如何调用你的函数?您可能必须在此调用之前执行登录... 我看到 asyncAddList 需要标头,所以可能就是这样。 正如我所说,这只是一个猜测,因为我还没有使用过 NetSuite。 但我发现你的帖子自己在寻找一些答案。也许你可以帮忙:

    NetSuite - SuiteTalk - PHP - Install

    【讨论】:

    • 这是答案还是评论?
    • 我正在使用 NetSuite 的 PHP 库并遵循文档。我使用我的 Web 服务凭据初始化服务,然后提交异步请求。同步请求成功。此问题仅与异步请求有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多