public function createFromData(Product $product)
 {
     $this->client->connect();
     try {
         $data = array("data" => $product->toArray());
         try {
             $product2 = $this->findByNumber($product->getNumber());
             $product->setHandle($product2->getHandle());
             return $product;
         } catch (ProductNotFoundException $e) {
             $response = $this->client->Product_CreateFromData($data);
             if (isset($response->Product_CreateFromDataResult)) {
                 $product->setHandle((array) $response->Product_CreateFromDataResult);
                 return $product;
             }
         }
     } catch (\SoapFault $e) {
         throw $e;
     }
 }