/**
  * Update Fulfillment Order
  * The SellerFulfillmentOrderId must be the order ID of the original
  *     order that needs to be updated.
  * 
  *   This DisplayableOrderDateTime will appear as the "order date" in
  *   recipient-facing materials such as the packing slip.  The format
  *   must be timestamp.
  * 
  *   The DisplayableOrderId will appear as the "order id" in those
  *   materials, and the DisplayableOrderComment will appear as well.
  *   
  *   ShippingSpeedCategory is the Service Level Agreement for how long it
  *   will take a shipment to be transported from the fulfillment center
  *   to the recipient, once shipped. no default.
  *   The following shipping speeds are available for US domestic:
  *    * Standard, 3-5 business days
  *    * Expedited, 2 business days
  *    * Priority, 1 business day
  * 
  *   Shipping speeds may vary elsewhere.  Please consult your manual for published SLAs.
  * 
  * 
  *   DestinationAddress is the address the items will be shipped to.
  *   
  *   FulfillmentAction indicates whether an order will be held or shipped. 
  *   Default is Hold. 
  *   * Hold if the order needs to be held but does not need to be shipped. 
  *   * Ship if the order is to be fulfilled and shipped out to the customer
  *   immediately. 
  * 
  *   FulfillmentPolicy indicates how unfulfillable items should be 
  *   handled. default is FillOrKill.
  *    * FillOrKill if any item is determined to be unfulfillable
  *      before any items have started shipping, the entire order is
  *      considered unfulfillable.  Once any part of the order has
  *      started shipping, as much of the order as possible will be
  *      shipped.
  *    * FillAll never consider any item unfulfillable.  Items must
  *      either be fulfilled or merchant-cancelled.
  *    * FillAllAvailable fulfill as much of the order as possible.
  *   
  *   NotificationEmailList can be used to provide a list of e-mail 
  *   addresses to receive ship-complete e-mail notifications. These 
  *   e-mails are customer-facing e-mails sent by FBA on behalf of 
  *   the seller.
  *
  * @param mixed $request array of parameters for MwsFbaOutboundServiceModel_UpdateFulfillmentOrder request or MwsFbaOutboundServiceModel_UpdateFulfillmentOrder object itself
  * @see MwsFbaOutboundServiceModel_UpdateFulfillmentOrderRequest
  * @return MwsFbaOutboundServiceModel_UpdateFulfillmentOrderResponse
  *
  * @throws FbaOutbound_Exception
  */
 public function updateFulfillmentOrder($request)
 {
     if (!$request instanceof Model\MwsFbaOutboundServiceModel_UpdateFulfillmentOrderRequest) {
         //require_once (dirname(__FILE__) . '/Model/UpdateFulfillmentOrderRequest.php');
         $request = new MwsFbaOutboundServiceModel_UpdateFulfillmentOrderRequest($request);
     }
     $parameters = $request->toQueryParameterArray();
     $parameters['Action'] = 'UpdateFulfillmentOrder';
     $httpResponse = $this->_invoke($parameters);
     //require_once (dirname(__FILE__) . '/Model/UpdateFulfillmentOrderResponse.php');
     $response = Model\MwsFbaOutboundServiceModel_UpdateFulfillmentOrderResponse::fromXML($httpResponse['ResponseBody']);
     $response->setResponseHeaderMetadata($httpResponse['ResponseHeaderMetadata']);
     return $response;
 }
 * Uncomment to try out Mock Service that simulates FBAOutboundServiceMWS
 * responses without calling FBAOutboundServiceMWS service.
 *
 * Responses are loaded from local XML files. You can tweak XML files to
 * experiment with various outputs during development
 *
 * XML files available under FBAOutboundServiceMWS/Mock tree
 *
 ***********************************************************************/
// $service = new FBAOutboundServiceMWS_Mock();
/************************************************************************
 * Setup request parameters and uncomment invoke to try out
 * sample for Update Fulfillment Order Action
 ***********************************************************************/
// @TODO: set request. Action can be passed as MwsFbaOutboundServiceModel_UpdateFulfillmentOrder
$request = new MwsFbaOutboundServiceModel_UpdateFulfillmentOrderRequest();
$request->setSellerId(MERCHANT_ID);
// object or array of parameters
invokeUpdateFulfillmentOrder($service, $request);
/**
 * Get Update Fulfillment Order Action Sample
 * Gets competitive pricing and related information for a product identified by
 * the MarketplaceId and ASIN.
 *
 * @param FBAOutboundServiceMWS_Interface $service instance of FBAOutboundServiceMWS_Interface
 * @param mixed $request MwsFbaOutboundServiceModel_UpdateFulfillmentOrder or array of parameters
 */
function invokeUpdateFulfillmentOrder(FBAOutboundServiceMWS_Interface $service, $request)
{
    try {
        $response = $service->UpdateFulfillmentOrder($request);