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);
 }
Esempio n. 2
0
 /**
  * @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();
 }