public function test_getPayload_returnsPayloadInterface() { $correlationId = uniqid(); $contentType = MessageInterface::CONTENT_TYPE_PLAIN_TEXT; $properties = [MessageInterface::PROPERTY_CORRELATION_ID => $correlationId, MessageInterface::PROPERTY_CONTENT_TYPE => $contentType]; $message = new RpcResponseMessage('', $properties); $payload = $message->getPayload(); $this->assertTrue($payload instanceof PayloadInterface); }
/** * @param string $routingKey * @param string $procedure * @param array $params * @param bool $closeConnectionAfterCall * * @return RpcResponsePayload */ public function call($routingKey, $procedure, array $params = [], $closeConnectionAfterCall = false) { // Reset current response object $this->resetCurrentRpcResponse(); // Connect $this->connector->connect(); // Declare responses queue $this->declareResponsesQueue(); // Create an empty request message $request = MessagesBuilder::emptyRpcRequest($this->getSerializer()->getSerializedContentType()); // Set message payload $request->setPayload(RpcRequestPayload::create($procedure, $params)); // Set other message properties $request->setExpiration(1000 * $this->getTimeOut()); $request->setReplyTo($this->responsesQueue); // Send request $this->sendRequest($request, $routingKey); if (true == $closeConnectionAfterCall) { $this->connector->closeConnection(); } return $this->rpcResponse->getPayload(); }