php MS_MAX_CONCURRENT_REQ - VIES增值税验证

ivqmmu1c  于 2023-01-12  发布在  PHP
关注(0)|答案(1)|浏览(128)

我想使用https://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl确认多个地址。
由于某种原因,我一直收到MS_MAX_CONCURRENT_REQ错误。我理解错误的含义,但我不明白为什么它总是随机发生。每次调用后我都会休眠15秒。我可以过滤到错误主要发生在德国增值税ID上。
如何在不增加休眠时间的情况下最小化此错误?
这是我当前的SOAPClient设置。

$client = new SoapClient('https://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl', ['trace' => false,'keep_alive' => false]);
        $result = $client->checkVatApprox([
            'countryCode' => $countryCode,
            'vatNumber' => $vatNumber,
            'traderName' => $traderName,
            'traderStreet' => $traderStreet,
            'traderPostcode' => $traderPostcode,
            'traderCity' => $traderCity,
            'requesterCountryCode' => $requesterCountryCode,
            'requesterVatNumber' => $requesterVatNumber
        ]);
nkhmeac6

nkhmeac61#

正如您可以在此服务的WSDL文档中找到的:

  • MS_最大_并发_要求:您的增值税验证请求尚未处理;已达到此成员国的最大并发请求数。请稍后重新提交请求或联系TAXUD-VIESWEB@ec.europa.eu了解详细信息”:您的请求无法处理,因为您试图联系的成员国的流量过高。请稍后再试。

除了定期重试直到成功之外,您自己对此无能为力。确保使用友好的回退策略,例如在失败的情况下将每次请求之间的休眠时间加倍(也称为“指数回退”)。

相关问题