Beispiel #1
0
        private static void kafkaProducer(string message)
        {
            var serv    = new ServiceRouting();
            var routing = serv.GetRouting(message).Result;
            var json    = "empty:" + routing.Code;
            var data    = new TransformResult();
            var trans   = new Transformation();
            var req     = "";
            var url     = "";

            //create connetion
            if (routing.Code == 200)
            {
                switch (routing.Data.Type)
                {
                case "REST-GET":
                    url  = $"{routing.Data.Url}/{message}";
                    data = serv.ConsumeRest(url).Result;

                    json = trans.Execute(data, routing.Data.Template);
                    break;

                case "REST-POST":
                    var vrest = message.Split('#');
                    url = $"{routing.Data.Url}/{vrest[0]}";

                    req  = trans.CreateRequest(routing.Data.RequestTemplate, routing.Data.NumRequest, vrest);
                    data = serv.ConsumeRest(url, req, ServiceRouting.HttpUseMethod.POST).Result;

                    json = trans.Execute(data, routing.Data.Template);
                    break;

                case "REST-DELETE":
                    var vdel = message.Split('#');
                    url = $"{routing.Data.Url}/{vdel[0]}";

                    req  = trans.CreateRequest(routing.Data.RequestTemplate, routing.Data.NumRequest, vdel);
                    data = serv.ConsumeRest(url, req, ServiceRouting.HttpUseMethod.DELETE).Result;

                    json = trans.Execute(data, routing.Data.Template);
                    break;

                case "SOAP-GET":
                    req  = trans.CreateRequest(routing.Data.RequestTemplate, routing.Data.NumRequest, message);
                    data = serv.ConsumeSoap(routing.Data.Url, req).Result;

                    json = CallSOAP(data.Result, routing.Data.Template);
                    break;

                case "SOAP-POST":
                    var vpost = message.Split('#');
                    req  = trans.CreateRequest(routing.Data.RequestTemplate, routing.Data.NumRequest, vpost);
                    data = serv.ConsumeSoap(routing.Data.Url, req).Result;

                    json = CallSOAP(data.Result, routing.Data.Template);
                    break;
                }
            }

            using (var producer = new Producer <Null, string>(producerConfigSend, null, new StringSerializer(Encoding.UTF8)))
            {
                var dr = producer.ProduceAsync(kafkaTopicSend, null, json).Result;
                Console.WriteLine($"Message send to kafka: {json}");
            }
        }