Exemplo n.º 1
0
        public static dataAccessService GetDASProxyAdmin()
        {
            ServicePointManager.Expect100Continue = false;
            dataAccessService r = new dataAccessService();

            r.Url         = ConfigurationManager.AppSettings["dataaccessservice"];
            r.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["FGSMSadmin"], ConfigurationManager.AppSettings["FGSMSadminpass"]);
            return(r);

            /*
             * BasicHttpBinding b = null;
             * b = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
             * b.Security.Transport.Realm = "FGSMS Services";
             * b.MaxBufferSize = Int32.MaxValue;
             * b.MaxReceivedMessageSize = Int32.MaxValue;
             * b.MaxBufferPoolSize = Int32.MaxValue;
             * b.TransferMode = TransferMode.Buffered;
             * b.Name = "AgentBinding";
             * b.ReaderQuotas.MaxArrayLength = Int32.MaxValue;
             * b.ReaderQuotas.MaxBytesPerRead = Int32.MaxValue;
             * b.ReaderQuotas.MaxDepth = Int32.MaxValue;
             * b.ReaderQuotas.MaxNameTableCharCount = Int32.MaxValue;
             * b.ReaderQuotas.MaxStringContentLength = Int32.MaxValue;
             * b.ReceiveTimeout = new TimeSpan(0, 5, 0);
             * b.SendTimeout = new TimeSpan(0, 5, 0);
             * b.UseDefaultWebProxy = true;
             * b.TextEncoding = Encoding.UTF8;
             * b.OpenTimeout = new TimeSpan(0, 0, 5);
             * //b.Namespace = "urn:org.miloss.FGSMS.services.interfaces.policyConfiguration";
             * b.MessageEncoding = WSMessageEncoding.Text;
             * b.CloseTimeout = new TimeSpan(0, 0, 5);
             *
             *
             * b.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
             *
             *
             * ChannelFactory<dataAccessService> factory =
             *  new ChannelFactory<dataAccessService>(b, ConfigurationManager.AppSettings["dataaccessservice"]);
             * HttpRequestMessageProperty p = new HttpRequestMessageProperty();
             * p.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(ConfigurationManager.AppSettings["FGSMSadmin"] + ":" + ConfigurationManager.AppSettings["FGSMSadminpass"])));
             *
             * // factory.Credentials.UserName = new System.ServiceModel.Security.UserNamePasswordClientCredential();
             * factory.Credentials.UserName.UserName = ConfigurationManager.AppSettings["FGSMSadmin"];
             * factory.Credentials.SupportInteractive = false;
             * factory.Credentials.UserName.Password = ConfigurationManager.AppSettings["FGSMSadminpass"];
             *
             *
             * dataAccessService polservice = factory.CreateChannel();
             * OperationContextScope scope = new OperationContextScope((IClientChannel)polservice);
             * OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = p;
             * return polservice;*/
        }
Exemplo n.º 2
0
 public static dataAccessService GetDASProxy(string url, string username, string password, ConfigLoader.AuthMode authMode, string pkiinfo)
 {
     ServicePointManager.Expect100Continue = false;
     dataAccessService r = new dataAccessService();
     r.Url = url;
     switch (authMode)
     {
         case ConfigLoader.AuthMode.usernamePassword:
             r.Credentials = new NetworkCredential(username, (password));
             break;
         case ConfigLoader.AuthMode.PKI:
             r.ClientCertificates.Add(FindCert(pkiinfo));
             break;
     }
     return r;
 }
Exemplo n.º 3
0
        public static dataAccessService GetDASProxyAdmin()
        {
            ServicePointManager.Expect100Continue = false;
            dataAccessService r = new dataAccessService();
            r.Url = ConfigurationManager.AppSettings["dataaccessservice"];
            r.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["FGSMSadmin"], ConfigurationManager.AppSettings["FGSMSadminpass"]);
            return r;
            /*
            BasicHttpBinding b = null;
            b = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
            b.Security.Transport.Realm = "FGSMS Services";
            b.MaxBufferSize = Int32.MaxValue;
            b.MaxReceivedMessageSize = Int32.MaxValue;
            b.MaxBufferPoolSize = Int32.MaxValue;
            b.TransferMode = TransferMode.Buffered;
            b.Name = "AgentBinding";
            b.ReaderQuotas.MaxArrayLength = Int32.MaxValue;
            b.ReaderQuotas.MaxBytesPerRead = Int32.MaxValue;
            b.ReaderQuotas.MaxDepth = Int32.MaxValue;
            b.ReaderQuotas.MaxNameTableCharCount = Int32.MaxValue;
            b.ReaderQuotas.MaxStringContentLength = Int32.MaxValue;
            b.ReceiveTimeout = new TimeSpan(0, 5, 0);
            b.SendTimeout = new TimeSpan(0, 5, 0);
            b.UseDefaultWebProxy = true;
            b.TextEncoding = Encoding.UTF8;
            b.OpenTimeout = new TimeSpan(0, 0, 5);
            //b.Namespace = "urn:org.miloss.FGSMS.services.interfaces.policyConfiguration";
            b.MessageEncoding = WSMessageEncoding.Text;
            b.CloseTimeout = new TimeSpan(0, 0, 5);

            b.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;

            ChannelFactory<dataAccessService> factory =
                new ChannelFactory<dataAccessService>(b, ConfigurationManager.AppSettings["dataaccessservice"]);
            HttpRequestMessageProperty p = new HttpRequestMessageProperty();
            p.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(ConfigurationManager.AppSettings["FGSMSadmin"] + ":" + ConfigurationManager.AppSettings["FGSMSadminpass"])));

            // factory.Credentials.UserName = new System.ServiceModel.Security.UserNamePasswordClientCredential();
            factory.Credentials.UserName.UserName = ConfigurationManager.AppSettings["FGSMSadmin"];
            factory.Credentials.SupportInteractive = false;
            factory.Credentials.UserName.Password = ConfigurationManager.AppSettings["FGSMSadminpass"];

            dataAccessService polservice = factory.CreateChannel();
            OperationContextScope scope = new OperationContextScope((IClientChannel)polservice);
            OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = p;
            return polservice;*/
        }
Exemplo n.º 4
0
        /// <summary>
        /// return empty string if nothing went wrong
        /// </summary>
        /// <param name="url"></param>
        /// <param name="request"></param>
        /// <param name="response"></param>
        /// <returns></returns>
        public static string VerifyLastMessagePayloads(string url, bool request, bool response, int expectedcount)
        {
            dataAccessService das = GetDASProxyAdmin();
            GetRecentMessageLogsRequestMsg req = new GetRecentMessageLogsRequestMsg();

            req.classification  = new SecurityWrapper();
            req.offset          = 0;
            req.offsetSpecified = true;
            req.records         = 1;
            req.URL             = url;
            GetMessageLogsResponseMsg res = das.GetRecentMessageLogs(req);

            string ret = "";

            if (res == null || res == null || res.logs == null || res.logs.Length == 0)
            {
                return("VerifyLastMessagePayloads, no results found");
            }
            if (res.TotalRecords != expectedcount)
            {
                ret += "VerifyLastMessagePayloads, less/more total transactions returned that expected " + res.TotalRecords + " vs " + expectedcount;
            }
            if (res.logs.Length > expectedcount)
            {
                ret += "VerifyLastMessagePayloads, more transactional log verification results were returned than expected" + res.logs.Length;
            }
            if (request && (res.logs[0] == null || res.logs[0].hasRequestMessage))
            {
                ret += "VerifyLastMessagePayloads, transactional log verification: request was not recorded";
            }
            if (response && (res.logs[0] == null || res.logs[0].hasResponseMessage))
            {
                ret += "VerifyLastMessagePayloads, transactional log verification: response was not recorded";
            }
            if (res.logs[0] == null || res.logs[0].timestamp == null)
            {
                ret += "VerifyLastMessagePayloads, transactional log verification: timestamp was not recorded";
            }
            TimeSpan ts = new TimeSpan(DateTime.Now.Ticks - res.logs[0].timestamp.Ticks);

            if (ts.TotalMinutes > 1)
            {
                ret += "VerifyLastMessagePayloads, timestamp was more than a minute different";
            }
            return(ret);
        }
Exemplo n.º 5
0
        public static dataAccessService GetDASProxy(string url, string username, string password, ConfigLoader.AuthMode authMode, string pkiinfo)
        {
            ServicePointManager.Expect100Continue = false;
            dataAccessService r = new dataAccessService();

            r.Url = url;
            switch (authMode)
            {
            case ConfigLoader.AuthMode.usernamePassword:
                r.Credentials = new NetworkCredential(username, (password));
                break;

            case ConfigLoader.AuthMode.PKI:
                r.ClientCertificates.Add(FindCert(pkiinfo));
                break;
            }
            return(r);
        }
Exemplo n.º 6
0
        /**
         * Failed	TC00136_ASPNETMonitoredThickClienttoASPNETserviceMonitored	FGSMS.NETTestSuite	Assert.Fail failed.
         * VerifyLastMessagePayloadsTwoAgentsOneTransaction, more total transactions returned that expected 1 vs 2
         * VerifyLastMessagePayloadsTwoAgentsOneTransaction, more actual transactions returned that expected 1 vs 2
         */
        public static string VerifyLastMessagePayloadsTwoAgentsOneTransaction(string url_internal)
        {
            dataAccessService das = GetDASProxyAdmin();
            GetRecentMessageLogsRequestMsg req = new GetRecentMessageLogsRequestMsg();

            req.classification  = new SecurityWrapper();
            req.offset          = 0;
            req.offsetSpecified = true;
            req.records         = 2;
            req.URL             = url_internal;
            GetMessageLogsResponseMsg res = das.GetRecentMessageLogs(req);

            string ret = "";

            if (res == null || res == null || res.logs == null || res.logs.Length == 0)
            {
                ret += ("VerifyLastMessagePayloadsTwoAgentsOneTransaction, no results found");
            }
            //  if (res.GetMessageLogsResult.TotalRecords != 2)
            //      ret += "VerifyLastMessagePayloadsTwoAgentsOneTransaction, more/less total transactions returned that expected " + res.GetMessageLogsResult.TotalRecords + " vs " + 2;
            if (res.logs.Length > 2)
            {
                ret += "VerifyLastMessagePayloadsTwoAgentsOneTransaction, more transactional log verification results were returned than expected" + res.logs.Length;
            }
            if (res.logs.Length < 2)
            {
                ret += "VerifyLastMessagePayloadsTwoAgentsOneTransaction, less actual transactions returned that expected " + res.logs.Length + " vs " + 2;
            }


            //get the details
            GetMessageTransactionLogDetailsResponseMsg t1 = new GetMessageTransactionLogDetailsResponseMsg();
            GetMessageTransactionLogDetailsResponseMsg t2 = new GetMessageTransactionLogDetailsResponseMsg();
            GetMessageTransactionLogDetailsMsg         r  = new GetMessageTransactionLogDetailsMsg();

            r.classification = new SecurityWrapper();
            if (res.logs.Length > 0)
            {
                r.transactionID = res.logs[0].transactionId;

                t1 = das.GetMessageTransactionLogDetails(r);
            }
            if (res.logs.Length > 1)
            {
                r.transactionID = res.logs[1].transactionId;
                t2 = das.GetMessageTransactionLogDetails(r);
            }

            das.Dispose();

            string agentsdata = "";

            // if (!String.IsNullOrEmpty(ret))
            if (t1 != null)
            {
                agentsdata = t1.agentType + ":" + t1.transactionId;
            }
            if (t2 != null)
            {
                agentsdata = t2.agentType + ":" + t2.transactionId;
            }
            if (!String.IsNullOrEmpty(ret))
            {
                return(ret + agentsdata);
            }
            //verify transaction thread id matches

            if (String.IsNullOrEmpty(t1.relatedTransactionID))
            {
                ret = "the transaction " + t1.transactionId + " did not have a related transaction id, this means that an http header was not propagated,  either by either recording agent, agent " + t1.agentType + " " + t1.agentMemo;
            }

            if (String.IsNullOrEmpty(t2.relatedTransactionID))
            {
                ret = "the transaction " + t2.transactionId + " did not have a related transaction id, this means that an http header was not propagated  either by either recording agent, agent " + t2.agentType + " " + t2.agentMemo;
            }
            if (!String.IsNullOrEmpty(ret))
            {
                return(ret);//prevent npe
            }
            if (!t1.transactionthreadId.Equals(t2.transactionthreadId, StringComparison.CurrentCultureIgnoreCase))
            {
                ret += "VerifyLastMessagePayloadsTwoAgentsOneTransaction, the transaction thread id's do not match" + t1.transactionthreadId + " vs " + t2.transactionthreadId;
            }
            if (!t1.relatedTransactionID.Equals(t2.transactionId, StringComparison.CurrentCultureIgnoreCase))
            {
                ret += "VerifyLastMessagePayloadsTwoAgentsOneTransaction, the transaction related message id's does not match. this probably means an http wasn't propagated t1 " + t1.relatedTransactionID + " vs t2 " + t2.transactionId;
            }
            if (!t2.relatedTransactionID.Equals(t1.transactionId, StringComparison.CurrentCultureIgnoreCase))
            {
                ret += "VerifyLastMessagePayloadsTwoAgentsOneTransaction, the transaction related message id's does not match. this probably means an http wasn't propagated t1 " + t2.relatedTransactionID + " vs t2 " + t1.transactionId;
            }

            return(ret);
        }
Exemplo n.º 7
0
        internal static string VerifyServiceChainingEvents(string urlFirstHop, string urlSecondHop, bool hasrequest, bool hasresponse)
        {
            //expect exactly 4 transactions
            //one from the client, to the first hop
            //one from the service on first hop
            //one from the first hop client to second hop
            //one from the second hop service
            dataAccessService das = GetDASProxyAdmin();
            GetRecentMessageLogsRequestMsg req = new GetRecentMessageLogsRequestMsg();

            req.classification  = new SecurityWrapper();
            req.offset          = 0;
            req.offsetSpecified = true;
            req.records         = 2;
            req.URL             = urlFirstHop;
            GetMessageLogsResponseMsg firsthoprecords = das.GetRecentMessageLogs(req);

            req = new GetRecentMessageLogsRequestMsg();
            req = new GetRecentMessageLogsRequestMsg();
            req.classification  = new SecurityWrapper();
            req.offset          = 0;
            req.offsetSpecified = true;
            req.records         = 2;
            req.URL             = urlSecondHop;
            GetMessageLogsResponseMsg secondhoprecords = das.GetRecentMessageLogs(req);
            string ret = "";

            if (firsthoprecords == null || firsthoprecords == null || firsthoprecords.logs == null)
            {
                ret += "no records returned for first hop at " + urlFirstHop;
            }
            if (secondhoprecords == null || secondhoprecords == null || secondhoprecords.logs == null)
            {
                ret += "no records returned for second hop at " + urlSecondHop;
            }
            if (!String.IsNullOrEmpty(ret))
            {
                return(ret);
            }
            if (firsthoprecords.logs.Length != 2)
            {
                ret += "expected 2 records for " + urlFirstHop + " but recieved " + firsthoprecords.logs.Length;
            }
            if (secondhoprecords.logs.Length != 2)
            {
                ret += "expected 2 records for " + urlSecondHop + " but recieved " + secondhoprecords.logs.Length;
            }
            if (!String.IsNullOrEmpty(ret))
            {
                return(ret);
            }
            //transaction thread id should be the same on all records
            GetMessageTransactionLogDetailsResponseMsg t1 = new GetMessageTransactionLogDetailsResponseMsg();
            GetMessageTransactionLogDetailsResponseMsg t2 = new GetMessageTransactionLogDetailsResponseMsg();
            GetMessageTransactionLogDetailsResponseMsg t3 = new GetMessageTransactionLogDetailsResponseMsg();
            GetMessageTransactionLogDetailsResponseMsg t4 = new GetMessageTransactionLogDetailsResponseMsg();
            GetMessageTransactionLogDetailsMsg         r  = new GetMessageTransactionLogDetailsMsg();

            r.classification = new SecurityWrapper();
            r.transactionID  = firsthoprecords.logs[0].transactionId;
            t1 = das.GetMessageTransactionLogDetails(r);

            r.transactionID = firsthoprecords.logs[1].transactionId;
            t2 = das.GetMessageTransactionLogDetails(r);

            r.transactionID = secondhoprecords.logs[0].transactionId;
            t3 = das.GetMessageTransactionLogDetails(r);
            r.transactionID = secondhoprecords.logs[1].transactionId;
            t4 = das.GetMessageTransactionLogDetails(r);

            if (!t1.transactionthreadId.Equals(t2.transactionthreadId) ||
                !t1.transactionthreadId.Equals(t3.transactionthreadId) ||
                !t1.transactionthreadId.Equals(t4.transactionthreadId))
            {
                ret += "at least one of the thread id's didn't match up, meaning the chaining wasn't recorded correctly.";
            }

            if (!t1.relatedTransactionID.Equals(t2.transactionId) || !t2.relatedTransactionID.Equals(t1.transactionId))
            {
                ret += " the first hops related/transaction ids didn't match up";
            }

            if (!t3.relatedTransactionID.Equals(t4.transactionId) || !t3.relatedTransactionID.Equals(t4.transactionId))
            {
                ret += " the second hops related/transaction ids didn't match up";
            }
            //message and related message ids should pair up


            //check request/response recording



            //  Assert.Inconclusive("i haven't finished this code yet");
            return(ret);
        }
Exemplo n.º 8
0
 private void button2_Click(object sender, EventArgs e)
 {
     dataAccessService c = new dataAccessService();
     c.GetMonitoredServiceList(new GetMonitoredServiceListRequestMsg());
 }
Exemplo n.º 9
0
        private void button2_Click(object sender, EventArgs e)
        {
            dataAccessService c = new dataAccessService();

            c.GetMonitoredServiceList(new GetMonitoredServiceListRequestMsg());
        }