· 7 years ago · May 29, 2018, 01:44 AM
129-May-2018 09:28:19.555 SEVERE [https-jsse-nio-8443-exec-3] com.sun.jersey.spi.container.ContainerResponse.mapMappableContainerException The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
2 java.lang.NoClassDefFoundError: org/springframework/context/ConfigurableApplicationContext
3 at ph.com.smart.ClientXMLConduit.<init>(ClientXMLConduit.java:39)
4 at ph.com.smart.ClientXMLConduit.getInstance(ClientXMLConduit.java:20)
5 at ph.com.smart.SmartLoadAndTrade.requestRetailertoSubscriber(SmartLoadAndTrade.java:307)
6 at com.cwi.smart.service.SmartELPService.MarinoRetailerToSubscriber(SmartELPService.java:1164)
7 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
8 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
9 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
10 at java.lang.reflect.Method.invoke(Method.java:498)
11 at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
12 at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
13 at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
14 at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
15 at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
16 at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
17 at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
18 at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
19 at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
20 at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
21 at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
22 at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
23 at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
24 at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540)
25 at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715)
26 at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
27 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
28 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
29 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
30 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
31 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
32 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
33 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
34 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
35 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
36 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
37 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
38 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
39 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
40 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
41 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
42 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
43 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
44 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
45 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
46 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
47 at java.lang.Thread.run(Thread.java:748)
48Caused by: java.lang.ClassNotFoundException: org.springframework.context.ConfigurableApplicationContext
49 at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1291)
50 at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
51 ... 45 more
52
53/**
54 * Rest service for Retailer to Subs
55 * @param JsonData
56 * @return
57 */
58 @POST
59 @Path("/RetailerToSubscriber")
60 @Consumes(MediaType.APPLICATION_JSON)
61 @Produces(MediaType.APPLICATION_JSON)
62 public RetailertoSubscriberResp RetailertoSubscriber(ServiceModel JsonData) {
63 StringBuilder str = new StringBuilder();
64 StringBuilder value2 = new StringBuilder();
65 StringBuilder value3 = new StringBuilder();
66 SmartELPServiceDAO dao = new SmartELPServiceDAO();
67 DatabaseConnection dbc = new DatabaseConnection();
68// dbc.createConnection("smart_load_db");
69 RetailertoSubscriberResp response = new RetailertoSubscriberResp();
70 try {
71 logger.info("============================================================================================");
72 logger.info("| Start Retailer to Subscriber Transaction | "+dateFormat.format(date)+" |");
73 logger.info("============================================================================================");
74 str.append(JsonData);
75 System.out.println("JSON="+JsonData);
76 String Date = "";
77 Date date = new Date();
78 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss");
79 Date = sdf.format(date);
80 JSONObject object = new JSONObject(str.toString());
81 JSONObject data = object.getJSONObject("data");
82 ServiceModel bean = new ServiceModel();
83 Map<String,String> map = new HashMap<String,String>();
84 Iterator iter = data.keys();
85 while(iter.hasNext()){
86 String key = (String)iter.next();
87 String value = data.getString(key);
88 map.put(key,value);
89 }
90 String ip = hsr.getHeader("X-FORWARDED-FOR");
91 if (ip == null) {
92 ip = hsr.getRemoteAddr();
93 }
94 logger.info("IP: "+ip);
95 bean.setIpaddress(ip);
96 bean.setTxtype("RetailertoSubscriber");
97 bean.setAppname(map.get("appname"));
98 bean.setPlanCode(map.get("planCode"));
99
100 long longdate = System.currentTimeMillis();
101
102 if(dao.checkip(bean)){
103 ServiceModel otherparams = dao.getOtherParams(bean);
104 String corporateID = otherparams.getCorporateID();
105 String terminalID = otherparams.getTerminalID();
106 String address = otherparams.getAddress();
107 String zipcode = otherparams.getZipCode();
108 String mercCross = otherparams.getMerchantCrossSell();
109 Boolean mercFlag = otherparams.getMerchSenderNameFlag();
110 String branchID = "";
111 if(dao.validatePlanCodeBrand(bean)){ //set brand
112 dao.getWalletInfo(bean); //set branch, set transaction type code
113 dao.validateBrand(bean); //set transaction type code specific
114 branchID = bean.getBranchID();
115 }
116 if(map.get("transactionType") != null){
117 bean.setTransactionType(map.get("transactionType"));
118 }
119 if(bean.getTransactionType().equalsIgnoreCase("RTL2SUB") || bean.getTransactionType().equalsIgnoreCase("RTL2SUBSUN")){
120 bean.setUnitCredit(map.get("unitCredit"));
121 }
122 else if(bean.getTransactionType().equalsIgnoreCase("RTLSLD") || bean.getTransactionType().equalsIgnoreCase("RTLSLDREV")){
123 bean.setSourceAccount(map.get("sourceAccount"));
124 bean.setAmountDeduct(new BigDecimal(map.get("amountDeduct")));
125 bean.setTargetCheckFlag("N");
126 bean.setTransactionRRN(map.get("transactionRRN"));
127 }
128 if(map.get("branchID") != null){
129 branchID = map.get("branchID");
130 }
131 bean.setCorporateID(corporateID);
132 bean.setBranchID(branchID);
133 String refNo = DBProperty.WEBPREFIX + longdate;
134 logger.info("WEBPREFIX1: " + DBProperty.WEBPREFIX);
135 logger.info("RefNo1: " + refNo);
136
137
138
139 bean.setRequestRefNo(refNo);
140 bean.setRequestTimestamp(longdate);
141 dbProperty = new DBProperty();
142 if(map.get("terminalID") == null){
143 bean.setTerminalID(dbProperty.TERMINAL_ID); //terminal ID from properties
144 }else{
145 bean.setTerminalID((map.get("terminalID").equalsIgnoreCase("")) ? "": map.get("terminalID"));
146 }
147 bean.setAddress((address.equalsIgnoreCase("")) ? "": address);
148 bean.setClientRefNo(map.get("client_transactionid"));
149 bean.setZipCode((zipcode.equalsIgnoreCase("")) ? "": zipcode);
150 bean.setMerchSenderNameFlag(mercFlag);
151 bean.setMerchantCrossSell(mercCross);
152 bean.setTargetSubsAccount(map.get("targetSubsAccount"));
153 logger.info("PlanCode: " + bean.getPlanCode());
154 logger.info("Brand: " + bean.getBrand());
155 logger.info("Transaction Type Code: " + bean.getTransactionType());
156 logger.info("BranchID: " + bean.getBranchID());
157 logger.info("Terminal ID:" + bean.getTerminalID());
158 // --------------- create transaction key ----------------
159 Md5Hasher md = new Md5Hasher();
160 SHA1Hasher sha1 = new SHA1Hasher();
161 SHA256Hasher sha256 = new SHA256Hasher();
162 String value1 = Long.toString(longdate);
163 String value1MD5 = md.md5(value1);
164 logger.info("value1MD5: "+value1MD5);
165 String tempvalue = value1MD5;
166 value2.append(branchID);
167 String value2reverse = value2.reverse().toString();
168 logger.info("value2reverse: "+value2reverse);
169 tempvalue += value2reverse;
170 logger.info("tempvalue: "+tempvalue);
171 tempvalue += tempvalue;
172 logger.info("new tempvalue: "+tempvalue);
173 Properties props = new Properties();
174 try {
175 props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("property.properties"));
176 } catch (IOException ioex) {
177 logger.fatal("IO Exception encountered in reading settings");
178 throw new IOException("Cannot read Property.properties");
179 } catch (Exception ex) {
180 logger.fatal("Exception encountered in reading settings");
181 throw new Exception(ex.getMessage());
182 }
183 String secret_key = props.getProperty("SECRET_KEY");
184 tempvalue += secret_key;
185 logger.info("new tempvalue += secretKey: "+tempvalue);
186 String hashMD5Tempvalue = md.md5(tempvalue);
187 logger.info("hashMD5Tempvalue: "+hashMD5Tempvalue);
188 tempvalue += hashMD5Tempvalue;
189 logger.info("new tempvalue2: "+tempvalue);
190 value3.append(corporateID);
191 String value3reverse = value3.reverse().toString();
192 logger.info("value3reverse: "+value3reverse);
193 String sha1value = sha1.sha1(value3reverse);
194 logger.info("sha1value: "+sha1value);
195 tempvalue += sha1value;
196 logger.info("tempvalue += sha1value: "+tempvalue);
197 String finalvalue = sha256.sha256(tempvalue);
198 logger.info("finalvalue: "+finalvalue);
199 String Transactionkey = finalvalue;
200 bean.setTransactionKey(Transactionkey);
201 logger.info(Transactionkey);
202 // --------------- create transaction key end -----------------
203 //insert transaction history
204 long transid = dao.insertTxLogs(bean);
205 ServiceModel cred = dao.getCredentials(bean);
206 String username = cred.getUsername();
207 String password = cred.getPassword();
208 SmartLoadAndTrade slat = new SmartLoadAndTrade();
209 RetailerToSusbcriberResponse rsresponse = new RetailerToSusbcriberResponse();
210 try{
211 long startTime = System.currentTimeMillis();
212 NumberFormat formatter = new DecimalFormat("#0.00000");
213 logger.info("------------------- START TIME | "+formatter.format(startTime)+"---------------------");
214 rsresponse = slat.requestRetailertoSubscriber(username, password, bean.getCorporateID(), bean.getBranchID(), bean.getTransactionKey(),
215 bean.getRequestRefNo(), bean.getPlanCode(), bean.getTransactionType(), bean.getSourceAccount(), bean.getAmountDeduct(),
216 bean.getTargetCheckFlag(), bean.getTransactionRRN(), bean.getTargetSubsAccount(), bean.getMerchSenderNameFlag(), bean.getMerchantCrossSell(),
217 bean.getRequestTimestamp(), bean.getTerminalID(), bean.getAddress(), bean.getZipCode(), bean.getUnitCredit() );
218 response.setCorporateID(rsresponse.getCorporateID());
219 response.setBranchID(rsresponse.getBranchID());
220 response.setRequestRefNo(rsresponse.getRequestRefNo());
221 response.setTargetSubsAccount(rsresponse.getTargetSubsAccount());
222 response.setPlanCode(rsresponse.getPlanCode());
223 response.setRetailerDeduct(rsresponse.getRetailerDeduct());
224 response.setRespCodeDesc(rsresponse.getRespCodeDesc());
225 response.setTransactionRRN(rsresponse.getTransactionRRN());
226 response.setTransactionTimestamp(rsresponse.getTransactionTimestamp());
227 response.setRetailerNewBalance(rsresponse.getRetailerNewBalance());
228 response.setAmount(rsresponse.getAmount());
229 response.setClient_transactionid(bean.getClientRefNo());
230 response.setAppname(bean.getAppname());
231 bean.setRespCode(rsresponse.getRespCode());
232 ServiceModel stat = dao.getStatus(bean);
233 response.setStatus(stat.getStatus());
234 response.setStatusDesc(stat.getStatusDesc());
235 logger.info("transfer response......");
236 logger.info("corporate: "+response.getCorporateID());
237 logger.info("branch: "+response.getBranchID());
238 logger.info("request reference no.: "+response.getRequestRefNo());
239 logger.info("Target Sub Account: "+response.getTargetSubsAccount());
240 logger.info("Plan Code: "+response.getPlanCode());
241 logger.info("retailer new balance: "+response.getRetailerNewBalance());
242 logger.info("Amount: "+response.getAmount());
243 logger.info("Retailer Deduct: "+response.getRetailerDeduct());
244 logger.info("transaction response no: "+response.getTransactionRRN());
245 logger.info("response code: "+rsresponse.getRespCode());
246 logger.info("response desc: "+rsresponse.getRespCodeDesc());
247 logger.info("status code: "+response.getStatus());
248 logger.info("status desc: "+response.getStatusDesc());
249 logger.info("client_transactionid: "+response.getClient_transactionid());
250 logger.info("appname: "+response.getAppname());
251 dao.updateRetailertoSubscriberTX(transid, response, rsresponse.getRespCode(), rsresponse.getRespCodeDesc());
252 long endTime = System.currentTimeMillis();
253 String totalTime = formatter.format((endTime - startTime) / 1000d);
254 logger.info("----------------------- END TIME | "+formatter.format(endTime)+"-------------------------");
255 logger.info("------------------------------- TIME TAKEN | "+totalTime+"-------------------------------");
256 logger.info("============================================================================================");
257 logger.info("| End Retailer to Subscriber Transaction | "+dateFormat.format(date)+" |");
258 logger.info("============================================================================================");
259 }catch(Exception exc){
260 exc.printStackTrace();
261 }
262 return response;
263 }
264 else{
265 logger.info("error ipaddress, appname, txtype are invalid");
266 }
267 } catch (Exception e) {
268 logger.info("Error Parsing: - ");
269 e.printStackTrace();
270 }
271 System.out.println("OLA : - " +response);
272 return response;
273 }