Установка восстанавливаемого атрибута для сообщений MSMQ в переполнении стека

Я хотел бы установить Восстанавливаемый атрибут формы сообщений, которые я отправляю в MSMQ. Я искал некоторые ресурсы, как это сделать в PHP, но я не нашел ни одного. Я пробовал это

    if(!$msgOut = new COM("MSMQ.MSMQMessage")){
return false;
}

$msgOut->Body = $this->getBody();
$msgOut->Label = $this->getLabel();
$msgOut->Recoverable = true;
$msgOut->Send($msgQueue);

Но это не работает. Я также попытался установить логическое значение как строковое значение и целое число, но ничего из этого не сработало.
Когда я пытаюсь $msgOut->Recoverable = "true"; или же $msgOut->Recoverable = true; Я получил com_exception

Невозможно найти «Восстанавливаемый»: неизвестное имя.

5

Решение

Восстанавливаемого свойства не существует, поэтому эта строка неверна:

$msgOut->Recoverable = true;

Согласно документации класса MSMQMessage, имя свойства должно быть «Доставка», а значение MQMSG_DELIVERY_RECOVERABLE:

public const int MQMSG_DELIVERY_EXPRESS = 0;
public const int MQMSG_DELIVERY_RECOVERABLE = 1;

Вы можете отправить восстанавливаемое сообщение следующим образом:

$msgOut->Body = $this->getBody();
$msgOut->Label = $this->getLabel();
$msgOut->Delivery = 1;
$msgOut->Send($msgQueue);
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]