Я пытаюсь импортировать / вставлять свои продукты в свою таблицу продуктов волюсом через API Volusion. Я использовал образец кода PHP, предоставленный компанией Volusion.
$file = file_get_contents('C:\Users\Ray\Desktop\3.txt', true); // Create the Xml to POST to the Webservice $Xml_to_Send = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"; $Xml_to_Send .= "<Volusion_API>"; // $Xml_to_Send .= "<!--"; $Xml_to_Send .= $file; // $Xml_to_Send .= "\"\""; // $Xml_to_Send .= "-->"; $Xml_to_Send .= "</Volusion_API>"; $url = "http://.servertrust.com/net/WebService.aspx?Login=support@mysite.com&EncryptedPassword=1234&Import=Insert"; $header = array( "MIME-Version: 1.0", "Content-type: text/xml; charset=utf-8", "Content-transfer-encoding: text", "Request-number: 1", "Document-type: Request", "Interface-Version: Test 1.4" ); // Post and Return Xml $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $Xml_to_Send); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); $data = curl_exec($ch); // Check for Errors if (curl_errno($ch)) { print curl_error($ch); } else { curl_close($ch); } // Display the Xml Returned on the Browser echo $data;
Этот код работает отлично, пока мой xml-файл находится под 10 МБ, который является лимитом для регулярного импорта. Когда я пытаюсь импортировать что-либо, я получаю эту ошибку:
<ReturnResult> <Success>False</Success> <Message>Maximum request length exceeded.</message> </ReturnResults>Send Failure: Connection was reset
Нужно ли обойти этот предел? Как я уже сказал, код работает отлично, пока я не ударил ограничение 10 МБ, когда получаю эту ошибку. Текущий файл, который я пытаюсь импортировать, составляет всего 30 МБ. Любой скрипт или решение, которые увеличивают размер файла ???
Вам придется разбить файл. Я нахожу, что я не могу импортировать более 10 или около того продуктов за один раз, не запуская ошибок таймаута (код ошибки 28).
Вы также можете написать сценарий, который разбивает ваш файл перед загрузкой в маленькие куски. Для более подробной информации вы можете перейти по ссылке ниже.
Разделение файла перед загрузкой
Помните одно, что ваш скрипт не меняет формат файла из исходной формы, например, файл находится в json-форме, поэтому фрагмент должен быть в json-форме.
Вы также можете отправлять динамически продукты в свой API Volusion.
Другая причина может быть ценовым планом, потому что я также столкнулся с этим типом проблемы, тогда мой план увольнения (магазина) был MINI. Для ценовых планов и каких прав у вас есть план, вы можете посетить эту ссылку.
План ценообразования Voluses и их права