/**
  * Get Unique Package Labels
  * Retrieves the PDF-formatted package label data for the packages of the
  *     shipment. These labels will include relevant data for shipments utilizing 
  *     Amazon-partnered carriers. Each label contains a unique package identifier that represents the mapping between
  *     physical and virtual packages. This API requires that Carton Information has been provided for all packages in the
  *     shipment. The PDF data will be ZIP'd and then it will be encoded as a Base64 string, and
  *     MD5 hash is included with the response to validate the label data which will be encoded as Base64.
  *     The language of the address and FC prep instructions sections of the labels are
  *     determined by the marketplace in which the request is being made and the marketplace of
  *     the destination FC, respectively.
  *     
  *     Only select PageTypes are supported in each marketplace. By marketplace, the
  *     supported types are:
  *       * US non-partnered UPS: PackageLabel_Letter_6
  *       * US partnered-UPS: PackageLabel_Letter_2
  *       * GB, DE, FR, IT, ES: PackageLabel_A4_4, PackageLabel_Plain_Paper
  *       * Partnered EU: PackageLabel_A4_2
  *       * JP/CN: PackageLabel_Plain_Paper
  *
  * @param mixed $request array of parameters for FBAInboundServiceMWS_Model_GetUniquePackageLabels request or FBAInboundServiceMWS_Model_GetUniquePackageLabels object itself
  * @see FBAInboundServiceMWS_Model_GetUniquePackageLabelsRequest
  * @return FBAInboundServiceMWS_Model_GetUniquePackageLabelsResponse
  *
  * @throws FBAInboundServiceMWS_Exception
  */
 public function getUniquePackageLabels($request)
 {
     if (!$request instanceof FBAInboundServiceMWS_Model_GetUniquePackageLabelsRequest) {
         require_once dirname(__FILE__) . '/Model/GetUniquePackageLabelsRequest.php';
         $request = new FBAInboundServiceMWS_Model_GetUniquePackageLabelsRequest($request);
     }
     $parameters = $request->toQueryParameterArray();
     $parameters['Action'] = 'GetUniquePackageLabels';
     $httpResponse = $this->_invoke($parameters);
     require_once dirname(__FILE__) . '/Model/GetUniquePackageLabelsResponse.php';
     $response = FBAInboundServiceMWS_Model_GetUniquePackageLabelsResponse::fromXML($httpResponse['ResponseBody']);
     $response->setResponseHeaderMetadata($httpResponse['ResponseHeaderMetadata']);
     return $response;
 }
 * Uncomment to try out Mock Service that simulates FBAInboundServiceMWS
 * responses without calling FBAInboundServiceMWS service.
 *
 * Responses are loaded from local XML files. You can tweak XML files to
 * experiment with various outputs during development
 *
 * XML files available under FBAInboundServiceMWS/Mock tree
 *
 ***********************************************************************/
// $service = new FBAInboundServiceMWS_Mock();
/************************************************************************
 * Setup request parameters and uncomment invoke to try out
 * sample for Get Unique Package Labels Action
 ***********************************************************************/
// @TODO: set request. Action can be passed as FBAInboundServiceMWS_Model_GetUniquePackageLabels
$request = new FBAInboundServiceMWS_Model_GetUniquePackageLabelsRequest();
$request->setSellerId(MERCHANT_ID);
// object or array of parameters
invokeGetUniquePackageLabels($service, $request);
/**
 * Get Get Unique Package Labels Action Sample
 * Gets competitive pricing and related information for a product identified by
 * the MarketplaceId and ASIN.
 *
 * @param FBAInboundServiceMWS_Interface $service instance of FBAInboundServiceMWS_Interface
 * @param mixed $request FBAInboundServiceMWS_Model_GetUniquePackageLabels or array of parameters
 */
function invokeGetUniquePackageLabels(FBAInboundServiceMWS_Interface $service, $request)
{
    try {
        $response = $service->GetUniquePackageLabels($request);