Last active
January 1, 2016 13:59
-
-
Save harshadura/8155284 to your computer and use it in GitHub Desktop.
subsc api im
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Check for subscription | |
try { | |
SubscriptionStatusResponse subscriptionStatusResponse = getSubscriptionStatus(phoneNumber); | |
String statusCode2 = subscriptionStatusResponse.getStatusCode(); | |
String statusDetails2 = subscriptionStatusResponse.getStatusDetail(); | |
if (statusCode2.equals("S1000")) { | |
String infoMsg = "Subscribed user!"; | |
LOGGER.info(infoMsg); | |
flagSubs = true; | |
} else { | |
String infoMsg = "Not a Subscribed user! [" + statusCode2 + "] " + statusDetails2; | |
LOGGER.info(infoMsg); | |
flagSubs = false; | |
} | |
} catch (Exception ee) { | |
ee.printStackTrace(); | |
LOGGER.info("Error : " + ee.getMessage()); | |
} | |
// charge 2 rupees if not subscribed | |
if(flagSubs == false){ | |
try { | |
DirectDebitResponse directDebitResponse = directDebit(phoneNumber, "2"); | |
String statusCode = directDebitResponse.getStatusCode(); | |
String statusDetails = directDebitResponse.getStatusDetail(); | |
if (statusCode.equals("S1000")) { | |
LOGGER.info("Rs. 2 Charged Successfully."); | |
String infoMsg = "********XXXXXX*****"; | |
LOGGER.info(infoMsg); | |
sendReply(infoMsg, phoneNumber); | |
} else { | |
String infoMsg = "Charging Process failed with status code [" + statusCode + "] " + statusDetails; | |
LOGGER.info(infoMsg); | |
sendReply(infoMsg, phoneNumber); | |
} | |
return; | |
} catch (Exception ee) { | |
ee.printStackTrace(); | |
LOGGER.info("Error : " + ee.getMessage()); | |
} | |
} | |
} | |
protected SubscriptionStatusResponse getSubscriptionStatus(String phoneNumber) { | |
SubscriptionStatusResponse subscriptionStatusResponse = new SubscriptionStatusResponse(); | |
try { | |
SubscriptionStatusRequest subscriptionStatusRequest = new SubscriptionStatusRequest(); | |
subscriptionStatusRequest.setApplicationId(app_id); | |
subscriptionStatusRequest.setPassword(app_password); | |
subscriptionStatusRequest.setSourceAddress(phoneNumber); | |
SubscriptionRequestSender subscriptionRequestSender = new SubscriptionRequestSender(new URL("http://api.dialog.lk:8080/subscription/getStatus")); | |
subscriptionStatusResponse = subscriptionRequestSender.sendSubscriptionStatusRequest(subscriptionStatusRequest); | |
} catch (Exception ex) { | |
LOGGER.info(ex.getMessage()); | |
ex.printStackTrace(); | |
} | |
return subscriptionStatusResponse; | |
} | |
protected DirectDebitResponse directDebit(String phoneNumber, String serviceCharges) { | |
DirectDebitResponse directDebitResponse = new DirectDebitResponse(); | |
try { | |
Integer Min = 1000000; | |
Integer Max = 2000000; | |
Integer rand = Min + (int)(Math.random() * ((Max - Min) + 1)); | |
DirectDebitRequest directDebitRequest = new DirectDebitRequest(); | |
directDebitRequest.setApplicationId(app_id); | |
directDebitRequest.setPassword(app_password); | |
directDebitRequest.setExternalTrxId(String.valueOf(rand)); | |
directDebitRequest.setSubscriberId(phoneNumber); | |
directDebitRequest.setAmount(serviceCharges); | |
ChargingRequestSender chargingRequestSender = new ChargingRequestSender(new URL(CAAS_URL_directDebit)); | |
directDebitResponse = chargingRequestSender.sendDirectDebitRequest(directDebitRequest); | |
} catch (Exception ex) { | |
LOGGER.info(ex.getMessage()); | |
ex.printStackTrace(); | |
} | |
return directDebitResponse; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I get an error like this in live:
Dec 28, 2013 1:51:30 AM com.carbonware.mresults.sms.SmsHandler getSubscriptionStatus
INFO: hms.kite.samples.api.SdpException: java.io.FileNotFoundException: http://api.dialog.lk:8080/subscription/getStatus
hms.kite.samples.api.SdpException: hms.kite.samples.api.SdpException: java.io.FileNotFoundException: http://api.dialog.lk:8080/subscription/getStatus
at hms.kite.samples.api.subscription.SubscriptionRequestSender.sendSubscriptionStatusRequest(SubscriptionRequestSender.java:45)
at com.carbonware.mresults.sms.SmsHandler.getSubscriptionStatus(SmsHandler.java:326)
at com.carbonware.mresults.sms.SmsHandler.onReceivedSms(SmsHandler.java:96)
at hms.kite.samples.api.sms.MoSmsReceiver$2.run(MoSmsReceiver.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: hms.kite.samples.api.SdpException: java.io.FileNotFoundException: http://api.dialog.lk:8080/subscription/getStatus
at hms.kite.samples.api.GenericSender.sendRequest(GenericSender.java:40)
at hms.kite.samples.api.subscription.SubscriptionRequestSender.sendSubscriptionStatusRequest(SubscriptionRequestSender.java:43)
... 8 more
Caused by: java.io.FileNotFoundException: http://api.dialog.lk:8080/subscription/getStatus
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1624)
at hms.kite.samples.api.GenericSender.internalSendRequest(GenericSender.java:62)
at hms.kite.samples.api.GenericSender.sendRequest(GenericSender.java:38)
... 9 more
java.lang.NullPointerException
at com.carbonware.mresults.sms.SmsHandler.onReceivedSms(SmsHandler.java:100)
at hms.kite.samples.api.sms.MoSmsReceiver$2.run(MoSmsReceiver.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Dec 28, 2013 1:51:30 AM com.carbonware.mresults.sms.SmsHandler onReceivedSms