Я хотел бы установить Восстанавливаемый атрибут формы сообщений, которые я отправляю в 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
Невозможно найти «Восстанавливаемый»: неизвестное имя.
Восстанавливаемого свойства не существует, поэтому эта строка неверна:
$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);
Других решений пока нет …