예제 #1
0
        public DispositionReport NotifyChangeRecordsAvailable(UDDI.Replication.NotifyChangeRecordsAvailable message)
        {
            //
            // Log more information than for a usual message to help diagnose possible replication errors.
            //
            StartOperatorMessageLog("NotifyChangeRecordsAvailable", message);

            //Debug.Enter();
            Debug.VerifySetting("OperatorKey");

            DispositionReport dr = new DispositionReport();

            //
            // Make sure the request is allowed by the communication graph.
            //
            ControlledMessage.Test(message.NotifyingNode,
                                   Config.GetString("OperatorKey"),
                                   MessageType.GetChangeRecords);

            try
            {
                message.Notify();

                EndOperatorMessageLog("NotifyChangeRecordsAvailable", null);
            }
            catch (Exception e)
            {
                DispositionReport.Throw(e);
                EndOperatorMessageLog("NotifyChangeRecordsAvailable", e);
            }

            //Debug.Leave();

            return(dr);
        }
예제 #2
0
        public ChangeRecordDetail GetChangeRecords(UDDI.Replication.GetChangeRecords message)
        {
            //
            // Log more information than for a usual message to help diagnose possible replication errors.
            //
            StartOperatorMessageLog("GetChangeRecords", message);

            //Debug.Enter();
            Debug.VerifySetting("OperatorKey");

            //
            // Make sure the request is allowed by the communication graph.
            //
            ControlledMessage.Test(message.RequestingNode,
                                   Config.GetString("OperatorKey"),
                                   MessageType.GetChangeRecords);

            //
            // Retrieve the change records.
            //
            ChangeRecordDetail detail = new ChangeRecordDetail();

            try
            {
                detail = message.Get();

                EndOperatorMessageLog("GetChangeRecords", detail);
            }
            catch (Exception e)
            {
                DispositionReport.Throw(e);

                EndOperatorMessageLog("GetChangeRecords", e);
            }

            //Debug.Leave();

            return(detail);
        }