/** * @param IncomingPhysicalMessage $physicalMessage * * @return IncomingLogicalMessage|null */ private function extractMessage(IncomingPhysicalMessage $physicalMessage) { $body = $physicalMessage->getBody(); if ($body === null || $body === '') { return null; } if (!isset($physicalMessage->getHeaders()[HeaderTypeEnum::ENCLOSED_CLASS])) { return null; } $messageClass = $physicalMessage->getHeaders()[HeaderTypeEnum::ENCLOSED_CLASS]; $serializer = $this->deserializerResolver->resolve($physicalMessage->getHeaders()); $instanceMessage = $serializer->deserialize($body, $messageClass); return $this->logicalMessageFactory->createFromObject($instanceMessage); }