我想使用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
]);
1条答案
按热度按时间nkhmeac61#
正如您可以在此服务的WSDL文档中找到的:
除了定期重试直到成功之外,您自己对此无能为力。确保使用友好的回退策略,例如在失败的情况下将每次请求之间的休眠时间加倍(也称为“指数回退”)。