Exemple #1
0
 public PCFMessage(MQMessage message)
 {
     this.list  = new ArrayList();
     this.mqCFH = new MQCFH(message);
     for (int i = 0; i < this.mqCFH.parameterCount; i++)
     {
         this.AddParameter(PCFParameter.NextParameter(message));
     }
 }
Exemple #2
0
        protected MQMessage[] Send(int command, PCFParameter[] parameters)
        {
            if (parameters == null)
            {
                throw new Exception("Must specify parameters!");
            }
            MQQueue   queue   = this.qMgr.AccessQueue("SYSTEM.DEFAULT.MODEL.QUEUE", 0x2021);
            MQMessage message = new MQMessage();

            message.ReplyToQueueName = queue.Name;
            message.MessageType      = 1;
            message.Feedback         = 0;
            message.Format           = "MQADMIN ";
            message.Report           = 0;
            MQCFH.Write(message, command, parameters.Length);
            for (int i = 0; i < parameters.Length; i++)
            {
                parameters[i].Write(message);
            }
            MQQueue             queue2 = this.qMgr.AccessQueue(this.qMgr.CommandInputQueueName, 0x2030);
            MQPutMessageOptions pmo    = new MQPutMessageOptions();

            pmo.Options = 0x40;
            queue2.Put(message, pmo);
            MQGetMessageOptions gmo = new MQGetMessageOptions();

            gmo.Options      = 0x2001;
            gmo.WaitInterval = this.waitInterval;
            gmo.MatchOptions = 2;
            ArrayList list     = new ArrayList();
            MQMessage message2 = null;
            int       compCode = 0;
            int       reason   = 0;
            int       num4     = 1;

            do
            {
                message2 = new MQMessage();
                message2.CorrelationId = message.MessageId;
                queue.Get(message2, gmo);
                message2.SkipBytes(20);
                num4     = message2.ReadInt4();
                compCode = message2.ReadInt4();
                reason   = message2.ReadInt4();
                message2.Seek(0);
                if (compCode != 0)
                {
                    throw new PCFException(compCode, reason);
                }
                list.Add(message2);
            }while (num4 == 0);
            queue2.Close();
            queue.Close();
            return((MQMessage[])list.ToArray(typeof(MQMessage)));
        }
Exemple #3
0
 public void Initialize(int type, int command, int msgSeqNumber, bool last)
 {
     this.list               = new ArrayList();
     this.mqCFH              = new MQCFH();
     this.mqCFH.CompCode     = 0;
     this.mqCFH.Reason       = 0;
     this.mqCFH.Command      = command;
     this.mqCFH.Type         = type;
     this.mqCFH.MsgSeqNumber = msgSeqNumber;
     if (last)
     {
         this.mqCFH.Control = 1;
     }
     else
     {
         this.mqCFH.Control = 0;
     }
 }