service/ProductService.php
public static function update(Context $context, $number, Product $product)
    {
        CheckUtils::paramNotEmpty($number, Constants::NUMBER);

        $response = NetLicensingService::getInstance()
            ->post($context, Constants::PRODUCT_ENDPOINT_PATH . '/' . $number, $product->asPropertiesMap());

        $updatedProduct = null;

        if (!empty($response->items->item[0])) {
            $updatedProduct = ItemToProductConverter::convert($response->items->item[0]);
            $updatedProduct->exists = true;
        }

        return $updatedProduct;
    }
public static function update(Context $context, $number, Product $product)
    {
        CheckUtils::paramNotEmpty($number, Constants::NUMBER);

        $response = NetLicensingService::getInstance()
            ->post($context, Constants::PRODUCT_ENDPOINT_PATH . '/' . $number, $product->asPropertiesMap());

        $updatedProduct = null;

        if (!empty($response->items->item[0])) {
            $updatedProduct = ItemToProductConverter::convert($response->items->item[0]);
            $updatedProduct->exists = true;
        }

        return $updatedProduct;
    }
Updates product properties.See NetLicensingAPI for details:
https://www.labs64.de/confluence/display/NLICPUB/Product+Services#ProductServices-Updateproduct

determines the vendor on whose behalf the call is performed
@param \NetLicensing\Context $context

product number
@param string $number

non-null properties will be updated to the provided values, null properties will stay unchanged.
@param \NetLicensing\Product $product

updated product.
@return Product|null
@throws MalformedArgumentsException
@throws RestException
@throws \ErrorException