Magento 2 Event Observer – sales_order_shipment_save_after Does Not Fire

event-observermagento2

I created an observer for changing the shipping method amount but it does not work.
This is my code

Cop/Postexpres/etc/events.xml

<?xml version="1.0"?><config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="sales_order_shipment_save_after">
    <observer name="popopp" instance="Cop\Postexpres\Model\Observer"  />
</event>

and

Cop/Postexpres/Model/Observer.php

 namespace Cop\Postexpres\Observer;
      use Magento\Framework\Event\ObserverInterface;

class Observer implements ObserverInterface
{
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $shipment = $observer->getEvent()->getShipment();
        $order = $shipment->getOrder();
       var_dump($order->getData());

    }

}

Best Answer

It looks like you passed wrong instance in your events.xml. You passed

<observer name="popopp" instance="Cop\Postexpres\Model\Observer"  />

and your namespace Observer is

namespace Cop\Postexpres\Observer;

So, you just need to add correct namespace(you are missing Model in your namespace).