tgilvonas Posted January 18, 2017 Share Posted January 18, 2017 Hello, I am integrating warehouse management system (which is based on PHP) with PrestaShop1.6 and I am using PrestaShop Web Service. I have to make new products (which are created in warehouse management system) appear on PrestaShop 1.6 online store. I have written this function showed below. It works good at my localhost, but on test server it receives HTTP status 503 after trying to update stock availability. All WebService methods (GET, PUT, DELETE, etc) are enabled on all WebService entities. I don't know how to solve this problem, can you help me? private function saveProduct($update, $webService, $root_path, $n_id, $n_id_category_default, $n_id_category, $n_price, $n_active, $n_avail4order, $n_show_price, $n_l_id, $n_name, $n_desc, $n_desc_short, $n_link_rewrite, $n_meta_title, $n_meta_description, $n_meta_keywords, $n_available_now, $n_available_later, $idtaglist, $cod, $quantity) { $webService = new PrestaShopWebservice($this->ps_shop_path, $this->ps_ws_auth_key, $this->ps_ws_debug); $xml = $webService->get(array('url' => $root_path . '/api/products?schema=blank')); $resources = $xml->children()->children(); /* many values of attributes of XML object $resources are assigned here, instead of this comment */ $id = ""; try { $opt = array('resource' => 'products'); if(!$update){ $opt['postXml'] = $xml -> asXML(); $xml = $webService -> add($opt); $id = $xml->product->id; } else{ $opt['putXml'] = $xml -> asXML(); $opt['id'] = $n_id; $xml = $webService -> edit($opt); $id = $n_id; } } catch (PrestaShopWebserviceException $ex) { echo '<b>Error : '.$ex->getMessage().'</b>'; } $resources = $xml->children()->children(); $stock_available_id = $resources->associations->stock_availables->stock_available[0]->id; /* Here we get the sotck available with were product id */ try { $opt = array('resource' => 'stock_availables'); $opt['id'] = $stock_available_id; $xml = $webService->get($opt); } catch (PrestaShopWebserviceException $e) { $trace = $e->getTrace(); if ($trace[0]['args'][0] == 404) die('1:Bad ID'); else if ($trace[0]['args'][0] == 401) die('1:Bad auth key'); else die('1:Other error '.$e->getMessage()); } $resources = $xml->children()->children(); $resources->quantity = $quantity; /* There we call to save our stock quantity. */ try { $opt = array('resource' => 'stock_availables'); $opt['putXml'] = $xml->asXML(); $opt['id'] = $stock_available_id; $xml = $webService->edit($opt); echo "Successfully updated."; } catch (PrestaShopWebserviceException $e) { $trace = $e->getTrace(); if ($trace[0]['args'][0] == 404) die('2:Bad ID'); else if ($trace[0]['args'][0] == 401) die('2:Bad auth key'); else die('Other error: '.$e->getMessage()); // function echoes this PrestaShopWebServiceException: "Other error: This call to PrestaShop Web Services returned an unexpected HTTP status of:503" } } Link to comment Share on other sites More sharing options...
tgilvonas Posted January 29, 2017 Author Share Posted January 29, 2017 I found the answer here: http://stackoverflow.com/questions/41727659/prestashop-webservice-returns-unexpected-http-status-503 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now