public Inheritance() { this.db = new Data.Entities7(); }
/// <summary> /// Invokes a Web Method, with its parameters encoded or not. /// </summary> /// <param name="methodName">Name of the web method you want to call (case sensitive)</param> /// <param name="encode">Do you want to encode your parameters? (default: true)</param> private void Invoke(string methodName, bool encode, int proc_id) { Tools tool = new Tools(); bool success = true; AssertCanInvoke(methodName); string jobid = ""; string userId = ""; foreach (var param in Params) { if (param.Key == "UserId") { userId = param.Value; } if (param.Key == "JobId") { jobid = param.Value; } } string soapStr = ""; int idNEPSBI_REQ; using (Entities7 ctxData = new Entities7()) { var pathData = (from p in ctxData.WV_LOAD_PATH_CONSUMER_ODP where p.JOBID == jobid select p); foreach (var data_val in pathData) { soapStr = @"<?xml version=""1.0"" encoding=""utf-8""?> <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:nep=""http://www.tm.com.my/hsbb/eai/NEPSLoadPathConsumer/""> <soap:Body> <nep:NEPSLoadPathConsumerRequest> <!--Optional:--> <eventName>NEPSLoadPathConsumer</eventName> <UserId>" + userId + @"</UserId> <EquipmentASide> <!--Optional:--> <AName>" + data_val.ANAME + @"</AName> <!--Optional:--> <ASite>" + data_val.ASITE + @"</ASite> <!--Optional:--> <AType>" + data_val.ATYPE + @"</AType> <ESide> <!--Optional:--> <ACard2>" + data_val.ACARD2 + @"</ACard2> <!--Optional:--> <APort2>" + data_val.APORT2 + @"</APort2> </ESide> <Splitter> <!--Optional:--> <ACard3>" + data_val.ACARD3 + @"</ACard3> <!--Optional:--> <APort3>" + data_val.APORT3 + @"</APort3> </Splitter> </EquipmentASide> <EquipmentZSide> <!--Optional:--> <ZName>" + data_val.ZNAME + @"</ZName><ZSite>" + data_val.ZSITE + @"</ZSite> <!--Optional:--> <!--Optional:--> <ZType>" + data_val.ZTYPE + @"</ZType> <!--Optional:--> <ZCard>" + data_val.ZCARD + @"</ZCard><ZPort>" + data_val.ZPORT + @"</ZPort> </EquipmentZSide> <EquipDP> <DPName>" + data_val.DPNAME + @"</DPName> <DPSite>" + data_val.DPSITE + @"</DPSite><DPPort>" + data_val.DPPORT + @"</DPPort> <!--Optional:--> </EquipDP> </nep:NEPSLoadPathConsumerRequest> </soap:Body> </soap:Envelope>"; using (EntitiesNetworkElement data_nepsbi = new EntitiesNetworkElement()) { var id_process = (from p in data_nepsbi.BI_GRNOSPDLDPATHCONS_REQ select p).OrderByDescending(p => p.REQUEST_ID).First(); idNEPSBI_REQ = Convert.ToInt32(id_process.REQUEST_ID) + 1; } string sqlStr = "insert into NEPSBI.BI_GRNOSPDLDPATHCONS_REQ(REQUEST_ID,PROC_ID,TIME_SENT,EVENTNAME,USERID,ANAME ,ASITE ,ATYPE ,ACARD2,APORT2,ACARD3,APORT3,ZNAME ,ZSITE ,ZTYPE ,ZCARD ,ZPORT ,DPNAME,DPSITE,DPPORT) values"; OracleParameter[] oraPrm = new OracleParameter[20]; oraPrm[0] = new OracleParameter("v_REQUEST_ID", OracleDbType.Int32); oraPrm[0].Value = idNEPSBI_REQ; oraPrm[1] = new OracleParameter("v_PROC_ID", OracleDbType.Varchar2); oraPrm[1].Value = proc_id; oraPrm[2] = new OracleParameter("v_TIME_SENT", OracleDbType.TimeStamp); oraPrm[2].Value = DateTime.Now; oraPrm[3] = new OracleParameter("v_EVENTNAME", OracleDbType.Varchar2); oraPrm[3].Value = "NEPSLoadPathConsumer"; oraPrm[4] = new OracleParameter("v_CLASS", OracleDbType.Varchar2); oraPrm[4].Value = "Webview.Granite.LoadPath"; oraPrm[5] = new OracleParameter("v_ANAME", OracleDbType.Varchar2); oraPrm[5].Value = data_val.ANAME; oraPrm[6] = new OracleParameter("v_ASITE", OracleDbType.Varchar2); oraPrm[6].Value = data_val.ASITE; oraPrm[7] = new OracleParameter("v_ATYPE", OracleDbType.Varchar2); oraPrm[7].Value = data_val.ATYPE; oraPrm[8] = new OracleParameter("v_ACARD2", OracleDbType.Varchar2); oraPrm[8].Value = data_val.ACARD2; oraPrm[9] = new OracleParameter("v_APORT2", OracleDbType.Varchar2); oraPrm[9].Value = data_val.APORT2; oraPrm[10] = new OracleParameter("v_ACARD3", OracleDbType.Varchar2); oraPrm[10].Value = data_val.ACARD3; oraPrm[11] = new OracleParameter("v_APORT3", OracleDbType.Varchar2); oraPrm[11].Value = data_val.APORT3; oraPrm[12] = new OracleParameter("v_ZNAME", OracleDbType.Varchar2); oraPrm[12].Value = data_val.ZNAME; oraPrm[13] = new OracleParameter("v_ZSITE", OracleDbType.Varchar2); oraPrm[13].Value = data_val.ZSITE; oraPrm[14] = new OracleParameter("v_ZTYPE", OracleDbType.Varchar2); oraPrm[14].Value = data_val.ZTYPE; oraPrm[15] = new OracleParameter("v_ZCARD", OracleDbType.Varchar2); oraPrm[15].Value = data_val.ZCARD; oraPrm[16] = new OracleParameter("v_ZPORT", OracleDbType.Varchar2); oraPrm[16].Value = data_val.ZPORT; oraPrm[17] = new OracleParameter("v_DPNAME", OracleDbType.Varchar2); oraPrm[17].Value = data_val.DPNAME; oraPrm[18] = new OracleParameter("v_DPSITE", OracleDbType.Varchar2); oraPrm[18].Value = data_val.DPSITE; oraPrm[19] = new OracleParameter("v_DPPORT", OracleDbType.Varchar2); oraPrm[19].Value = data_val.DPPORT; string result2 = tool.ExecuteStored(connString, sqlStr, CommandType.StoredProcedure, oraPrm, false); System.Diagnostics.Debug.WriteLine("result :" + result2); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url); req.Headers.Add("SOAPAction", "\"http://tempuri.org/" + methodName + "\""); req.ContentType = "text/xml;charset=\"utf-8\""; req.Accept = "text/xml"; req.Method = "POST"; //Stream stm = req.GetRequestStream(); //StreamWriter stmw = new StreamWriter(stm); //stmw.Write(soapStr); ////StreamReader objReader = new StreamReader(req.GetResponse().GetResponseStream()); //WebResponse wr = req.GetResponse(); //Stream receiveStream = wr.GetResponseStream(); //StreamReader reader = new StreamReader(receiveStream); //string result = reader.ReadToEnd(); //ResponseSOAP = XDocument.Parse(Utils.UnescapeString(result)); //ExtractResult(methodName, proc_id, idNEPSBI_REQ); //req.Timeout = 300000; //req.AllowWriteStreamBuffering = true; using (Stream stm = req.GetRequestStream()) { //string postValues = ""; //foreach (var param in Params) //{ // if (encode) postValues += string.Format("<{0}>{1}</{0}>", HttpUtility.HtmlEncode(param.Key), HttpUtility.HtmlEncode(param.Value)); // else postValues += string.Format("<{0}>{1}</{0}>", param.Key, param.Value); //} //soapStr = string.Format(soapStr, methodName, postValues); using (StreamWriter stmw = new StreamWriter(stm)) { //Response.BufferOutput = true; stmw.Write(soapStr); stmw.Close(); } } using (StreamReader responseReader = new StreamReader(req.GetResponse().GetResponseStream())) { string result = responseReader.ReadToEnd(); ResponseSOAP = XDocument.Parse(Utils.UnescapeString(result)); ExtractResult(methodName, proc_id, idNEPSBI_REQ); } } } }