code: public function updateInboundShipment($request)
      {
          if (!($request instanceof FBAInboundServiceMWS_Model_UpdateInboundShipmentRequest)) {
              $request = new FBAInboundServiceMWS_Model_UpdateInboundShipmentRequest($request);
          }
          $parameters = $request->toQueryParameterArray();
          $parameters['Action'] = 'UpdateInboundShipment';
          $httpResponse = $this->_invoke($parameters);
  
          $response = FBAInboundServiceMWS_Model_UpdateInboundShipmentResponse::fromXML($httpResponse['ResponseBody']);
          $response->setResponseHeaderMetadata($httpResponse['ResponseHeaderMetadata']);
          return $response;
      }
docs: Update Inbound Shipment
  Updates an pre-existing inbound shipment specified by the
  ShipmentId. It may include up to 200 items.
  If InboundShipmentHeader is set. it replaces the header information
  for the given shipment.
  If InboundShipmentItems is set. it adds, replaces and removes
  the line time to inbound shipment.
  For non-existing item, it will add the item for new line item;
  For existing line items, it will replace the QuantityShipped for the item.
  For QuantityShipped = 0, it indicates the item should be removed from the shipment
  
  This operation will simply return a shipment Id upon success,
  otherwise an explicit error will be returned.
  
  @param mixed $request array of parameters for FBAInboundServiceMWS_Model_UpdateInboundShipment request or FBAInboundServiceMWS_Model_UpdateInboundShipment object itself
  @see FBAInboundServiceMWS_Model_UpdateInboundShipmentRequest
  @return FBAInboundServiceMWS_Model_UpdateInboundShipmentResponse
  
  @throws FBAInboundServiceMWS_Exception