Я использую cURL для отправки POST-информации в калькулятор скорости доставки usps.USPS API Возвратная ошибка - Ошибка в XML
$info = "<?xml version='1.0' encoding='UTF-8'?>
<RateV4Request USERID='xxxx'>
<Package ID='$aucid'>
<Service>Priority</Service>
<ZipOrigination>xxxx</ZipOrigination>
<ZipDestination>$zip</ZipDestination>
<Size>$size</Size>
<Pounds>$pounds</Pounds>
<Ounces>$ounces</Ounces>
<Container>RECTANGULAR</Container>
<Width>$width</Width>
<Length>$length</Length>
<Height>$height</Height>
<SpecialServices><SpecialService>108</SpecialService></SpecialServices>
</Package>
</RateV4Request>";
$array = array("API" => "RateV4", "XML" => $info);
$link = "http://production.shippingapis.com/ShippingAPI.dll";
curl_setopt($ch, CURLOPT_URL,$link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$array);
$answer=curl_exec($ch);
echo $answer;
curl_close($ch);
Когда я подписался на веб-инструментов USPS, письмо было отправлено с USERID (я заменил его хз из-за своей чувствительной природы).
В том же письме было указано, что расчет скорости разрешен. Вот ошибка, возвращается:
80040B19XML Syntax Error:
Please check the XML request to see if it can be parsed.USPSCOM::DoAuth
Я пошел вперед и взял XML, который вторит и включил его в xmlvalidation.com
и не обнаружили никаких ошибок. Я также пробовал это без линии <?xml version="1.0" encoding="UTF-8">
наверху.
У вас есть curl_init? – user2182349
Вы уверены, что эти значения (например, этот: '$ pounds') обновляются с реальными значениями (числами), а не просто остаются в строке« $ фунтов »? – jonmrich
@ user2182349 Да, это выше. –