2017-11-14 94 views
5

MSMQ'ye gönderdiğim bir Recoverable attribute form iletisi ayarlamak istiyorum. PHP'de bunu nasıl yapacağım konusunda bazı kaynaklar araştırıyorum ama hiç bulamadım. Ben buPHP'de MSMQ iletileri için kurtarılabilir özniteliği ayarlama

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

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

'u denedim, ancak çalışmaz. Ben de boole değerini bir dize değeri ve tamsayı olarak ayarlamaya çalıştım ama hiçbiri işe yaramadı. Ben denemek $msgOut->Recoverable = "true"; veya $msgOut->Recoverable = true; Ben com_exception

' `kurtarılabilir çözülemedi

var: Bilinmeyen ad.

+0

'Recoverable' ile deneyin. –

+0

@LioraHaydont Yazım düzeltildi, teşekkürler, ancak yine de bir hata döndürüyor. – DropDropped

+0

Sadece yazım hatası olduğunu sanıyordum, ama sanırım o kadar kolay olmayacak: / –

cevap

3

Hiçbir kazanılabilir özelliktir, bu nedenle bu hat yanlıştır:

$msgOut->Recoverable = true; 

sınıfın MSMQMessage belgelerine göre, özellik adı "Teslim" olmalıdır ve değer MQMSG_DELIVERY_RECOVERABLE geçerli:

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

Bu şekilde her kazanılabilir mesaj gönderebilir:

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