Skip to content

Instantly share code, notes, and snippets.

@harshadura
Last active January 1, 2016 13:59
Show Gist options
  • Save harshadura/8155284 to your computer and use it in GitHub Desktop.
Save harshadura/8155284 to your computer and use it in GitHub Desktop.
subsc api im
// 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;
}
@harshadura
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment