/**
  * @param Mage_Shipping_Model_Shipment_Request $request
  * @return $this
  */
 public function ship(Mage_Shipping_Model_Shipment_Request $request)
 {
     $order = $request->getOrderShipment();
     $realOrder = $order->getOrder();
     $helper = Mage::helper('swisspost_yellowcube');
     $locale = Mage::getStoreConfig('general/locale/code', $request->getStoreId());
     $locale = explode('_', $locale);
     $positionItems = array();
     foreach ($order->getAllItems() as $item) {
         $product = Mage::getModel('catalog/product')->load($item->getProductId());
         $positionItems[] = array('article_id' => $item->getProductId(), 'article_number' => $item->getSku(), 'article_ean' => $product->getData('yc_ean_code'), 'article_title' => $item->getName(), 'article_qty' => $item->getQty());
     }
     $this->getQueue()->send(Zend_Json::encode(array('action' => self::SYNC_ORDER_WAB, 'store_id' => $request->getStoreId(), 'plant_id' => $this->getHelper()->getPlantId($request->getStoreId()), 'deposit_number' => $this->getHelper()->getDepositorNumber($request->getStoreId()), 'order_id' => $order->getOrderId(), 'order_increment_id' => $realOrder->getIncrementId(), 'order_date' => date('Ymd'), 'partner_type' => Swisspost_YellowCube_Helper_Data::PARTNER_TYPE, 'partner_number' => $this->getHelper()->getPartnerNumber($request->getStoreId()), 'partner_reference' => $this->getHelper()->getPartnerReference($request->getRecipientContactPersonName(), $request->getRecipientAddressPostalCode()), 'partner_name' => $request->getRecipientContactPersonName(), 'partner_name2' => $request->getRecipientContactCompanyName(), 'partner_street' => $request->getRecipientAddressStreet1(), 'partner_name3' => $request->getRecipientAddressStreet2(), 'partner_country_code' => $request->getRecipientAddressCountryCode(), 'partner_city' => $request->getRecipientAddressCity(), 'partner_zip_code' => $request->getRecipientAddressPostalCode(), 'partner_phone' => $request->getRecipientContactPhoneNumber(), 'partner_email' => $request->getRecipientEmail(), 'partner_language' => $locale[0], 'service_basic_shipping' => $helper->getRealCode($request->getShippingMethod()), 'service_additional_shipping' => $helper->getAdditionalShipping($request->getShippingMethod()), 'items' => $positionItems)));
     return $this;
 }