/**
  * Create Inbound Shipment Plan
  * Plans inbound shipments for a set of items.  Registers identifiers if needed,
  * and assigns ShipmentIds for planned shipments.
  * When all the items are not all in the same category (e.g. some sortable, some 
  * non-sortable) it may be necessary to create multiple shipments (one for each 
  * of the shipment groups returned).
  *
  * @param mixed $request array of parameters for FBAInboundServiceMWS_Model_CreateInboundShipmentPlan request or FBAInboundServiceMWS_Model_CreateInboundShipmentPlan object itself
  * @see FBAInboundServiceMWS_Model_CreateInboundShipmentPlanRequest
  * @return FBAInboundServiceMWS_Model_CreateInboundShipmentPlanResponse
  *
  * @throws FbaInbound_Exception
  */
 public function createInboundShipmentPlan($request)
 {
     if (!$request instanceof Model\FBAInboundServiceMWS_Model_CreateInboundShipmentPlanRequest) {
         //require_once (dirname(__FILE__) . '/Model/CreateInboundShipmentPlanRequest.php');
         $request = new FBAInboundServiceMWS_Model_CreateInboundShipmentPlanRequest($request);
     }
     $parameters = $request->toQueryParameterArray();
     $parameters['Action'] = 'CreateInboundShipmentPlan';
     $httpResponse = $this->_invoke($parameters);
     //require_once (dirname(__FILE__) . '/Model/CreateInboundShipmentPlanResponse.php');
     $response = Model\FBAInboundServiceMWS_Model_CreateInboundShipmentPlanResponse::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 Create Inbound Shipment Plan Action
 ***********************************************************************/
// @TODO: set request. Action can be passed as FBAInboundServiceMWS_Model_CreateInboundShipmentPlan
$request = new FBAInboundServiceMWS_Model_CreateInboundShipmentPlanRequest();
$request->setSellerId(MERCHANT_ID);
// object or array of parameters
invokeCreateInboundShipmentPlan($service, $request);
/**
 * Get Create Inbound Shipment Plan 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_CreateInboundShipmentPlan or array of parameters
 */
function invokeCreateInboundShipmentPlan(FBAInboundServiceMWS_Interface $service, $request)
{
    try {
        $response = $service->CreateInboundShipmentPlan($request);