2017-11-14 23 views
5

MSMQに送信するRecoverable attributeフォームメッセージを設定したいと思います。私はいくつかのリソースをPHPでこれを行う方法を探してきましたが、何も見つかりませんでした。私はこれを試しましたPHPでMSMQメッセージの回復可能な属性を設定する

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

を得ました。そこには回復可能なプロパティがありませんので、このラインが間違っている

+0

「回復可能」で試してみませんか? –

+0

@LioraHaydontスペルを修正しました。ありがとうございますが、それでもエラーは返されます。 – DropDropped

+0

私はそれがちょうどタイプミスだと思ったが、それは簡単ではないと思う: –

答えて

3

$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); 
関連する問題