예제 #1
0
        private void RcvTransform()
        {
            string soapMsg = _ctrlRcvSoap.GetXmlString();

            HYS.IM.Messaging.Objects.Message xdsgwMsg = null;

            DateTime dtB = DateTime.Now;
            bool     res = _controler.GenerateXDSGWMessage(soapMsg, out xdsgwMsg);
            DateTime dtE = DateTime.Now;

            TimeSpan ts = dtE.Subtract(dtB);

            this.labelRcvTranPerform.Text = ts.TotalMilliseconds.ToString() + " ms";

            if (res)
            {
                // for better display in web browser control
                _ctrlRcvMsg.Open("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + xdsgwMsg.ToXMLString());
            }
            else
            {
                MessageBox.Show(this,
                                "Transform error. Please see log file for details.",
                                this.Text,
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
            }
        }
예제 #2
0
        private void NotifyMessage(Message msg)
        {
            _log.Write(LogType.Debug, "MSMQReceiver begin to deserializing message.");

            HYS.IM.Messaging.Objects.Message m = MSMQHelper.GetMessage(msg);

            if (m == null || m.Header == null)
            {
                _log.Write(LogType.Error, "MSMQReceiver receive and abandon a NULL message or message without header.");
                return;
            }
            else
            {
                _log.Write(LogType.Debug, "MSMQReceiver receive message id=" + m.Header.ID.ToString());
            }

            NotifyMessageReceived(m);
        }
예제 #3
0
        private void SndTransform()
        {
            string xdsgwMsg = _ctrlSndMsg.GetXmlString();
            string soapMsg  = "";

            HYS.IM.Messaging.Objects.Message msg =
                XObjectManager.CreateObject <HYS.IM.Messaging.Objects.Message>(xdsgwMsg);

            if (msg == null)
            {
                MessageBox.Show(this,
                                "Deserialize XDS Gateway message failed. \r\n" +
                                "Please check whether the XML string conforms to XDS Gateway message schema.",
                                this.Text,
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                return;
            }

            DateTime dtB = DateTime.Now;
            bool     res = _controler.GenerateSOAPMessage(msg, out soapMsg);
            DateTime dtE = DateTime.Now;

            TimeSpan ts = dtE.Subtract(dtB);

            this.labelSndTranPerform.Text = ts.TotalMilliseconds.ToString() + " ms";

            if (res)
            {
                // for better display in web browser control
                _ctrlSndSoap.Open("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + soapMsg);
            }
            else
            {
                MessageBox.Show(this,
                                "Transform error. Please see log file for details.",
                                this.Text,
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
            }
        }
예제 #4
0
        private void RunAll(int times)
        {
            if (times < 1)
            {
                return;
            }

            FileComboBoxItem i = _ctrlSampleMsg.GetSelectedItem();

            if (i == null)
            {
                return;
            }

            string sndSoap = "";
            string rcvSoap = "";

            HYS.IM.Messaging.Objects.Message rcvMsg = null;
            HYS.IM.Messaging.Objects.Message sndMsg =
                XObjectManager.CreateObject <HYS.IM.Messaging.Objects.Message>(i.FileContent);

            if (sndMsg == null)
            {
                MessageBox.Show(this,
                                "Deserialize XDS Gateway message failed. \r\n" +
                                "Please check whether the XML string conforms to XDS Gateway message schema.",
                                this.Text,
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                return;
            }

            string     uri    = this.textBoxURI.Text;
            string     action = this.textBoxAction.Text;
            SOAPSender s      = new SOAPSender(
                Program.Context.ConfigMgr.Config.GetWCFConfigFileNameWithFullPath(),
                Program.Context.Log);

            bool            res    = false;
            List <TimeSpan> tsList = new List <TimeSpan>();

            for (int t = 0; t < times; t++)
            {
                DateTime dtB = DateTime.Now;
                if (_controler.GenerateSOAPMessage(sndMsg, out sndSoap))
                {
                    if (s.SendMessage(
                            this.textBoxURI.Text.Trim(),    // Program.Context.ConfigMgr.Config.SOAPServiceURI,
                            this.textBoxAction.Text.Trim(), //Program.Context.ConfigMgr.Config.SOAPAction,
                            sndSoap, ref rcvSoap))
                    {
                        res = _controler.GenerateXDSGWMessage(rcvSoap, out rcvMsg);
                        if (!res)
                        {
                            break;
                        }
                    }
                    else
                    {
                        res = false;
                        break;
                    }
                }
                else
                {
                    res = false;
                    break;
                }
                DateTime dtE = DateTime.Now;
                TimeSpan ts  = dtE.Subtract(dtB);
                tsList.Add(ts);
            }

            if (res)
            {
                double totalMs = 0;
                foreach (TimeSpan ts in tsList)
                {
                    totalMs += ts.TotalMilliseconds;
                }
                this.labelRunPerform.Text = (double)(totalMs / (double)times) + " ms";

                _ctrlSndMsg.Open("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + sndMsg.ToXMLString());
                _ctrlSndSoap.Open("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + sndSoap);
                _ctrlRcvSoap.Open("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + rcvSoap);
                _ctrlRcvMsg.Open("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + rcvMsg.ToXMLString());
            }
            else
            {
                MessageBox.Show(this,
                                "Transform or send message error. Please see log file for details.",
                                this.Text,
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
            }
        }