Skip to content

Instantly share code, notes, and snippets.

@oludouglas
Created June 18, 2018 10:26
Show Gist options
  • Save oludouglas/34545243e8f06f4e016bbcb984cffa09 to your computer and use it in GitHub Desktop.
Save oludouglas/34545243e8f06f4e016bbcb984cffa09 to your computer and use it in GitHub Desktop.
package test;
import java.rmi.RemoteException;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import javax.xml.rpc.Stub;
import com.neptunesoftware.beans.Transaction;
import com.neptunesoftware.supernova.ws.client.AccountWebServiceEndPointPort_Impl;
import com.neptunesoftware.supernova.ws.client.AccountWebService_Stub;
import com.neptunesoftware.supernova.ws.client.FundsTransferWebServiceEndPointPort_Impl;
import com.neptunesoftware.supernova.ws.client.FundsTransferWebService_Stub;
import com.neptunesoftware.supernova.ws.client.TransactionsWebServiceEndPointPort_Impl;
import com.neptunesoftware.supernova.ws.client.TransactionsWebService_Stub;
import com.neptunesoftware.supernova.ws.client.TxnProcessWebServiceEndPointPort_Impl;
import com.neptunesoftware.supernova.ws.client.TxnProcessWebService_Stub;
import com.neptunesoftware.supernova.ws.common.XAPIException;
import com.neptunesoftware.supernova.ws.common.XAPIRequestBaseObject;
import com.neptunesoftware.supernova.ws.server.account.data.AccountBalanceRequest;
import com.neptunesoftware.supernova.ws.server.transaction.data.DepositTxnOutputData;
import com.neptunesoftware.supernova.ws.server.transaction.data.GLTransferRequest;
import com.neptunesoftware.supernova.ws.server.transaction.data.TransactionInquiryRequest;
import com.neptunesoftware.supernova.ws.server.transaction.data.TxnResponseOutputData;
import com.neptunesoftware.supernova.ws.server.transfer.data.FundsTransferRequestData;
import com.neptunesoftware.supernova.ws.server.txnprocess.data.XAPIBaseTxnRequestData;
import prc.MobileControl;
import util.RubiLog;
public class MainClass {
public static AccountWebService_Stub accountEndPoint[] = null;
public static TransactionsWebService_Stub transactionsEndPoint[] = null;
public static FundsTransferWebService_Stub fundsTransferEndPoint[] = null;
public static TxnProcessWebService_Stub txnProcessEndpoint[] = null;
public static final int MAX_JDBC_CONS = 1, conIndex = 0;
public static String RMI_URL = "http://192.168.2.222:8001/supernovaws/";
public static final Map<String, String> CTRL_PARAM_MAP = new HashMap<>();
static {
CTRL_PARAM_MAP.put("account-web-service", "AccountWebServiceBean");
CTRL_PARAM_MAP.put("transaction-web-service", "TransactionsWebServiceBean");
CTRL_PARAM_MAP.put("fundstransfer-web-service", "FundsTransferWebServiceBean");
CTRL_PARAM_MAP.put("txnprocess-web-service", "TxnProcessWebServiceBean");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
accountEndPoint = new AccountWebService_Stub[MAX_JDBC_CONS];
transactionsEndPoint = new TransactionsWebService_Stub[MAX_JDBC_CONS];
fundsTransferEndPoint = new FundsTransferWebService_Stub[MAX_JDBC_CONS];
txnProcessEndpoint = new TxnProcessWebService_Stub[MAX_JDBC_CONS];
accountEndPoint[conIndex] = (AccountWebService_Stub) getPort("account-web-service");
transactionsEndPoint[conIndex] = (TransactionsWebService_Stub) getPort("transaction-web-service");
fundsTransferEndPoint[conIndex] = (FundsTransferWebService_Stub) getPort("fundstransfer-web-service");
txnProcessEndpoint[conIndex] = (TxnProcessWebService_Stub) getPort("txnprocess-web-service");
}
private XAPIRequestBaseObject getBaseRequest(XAPIRequestBaseObject requestData) {
requestData.setChannelId(13L);
requestData.setChannelCode("MBANK");
requestData.setUserLoginId("SYSTEM");
requestData.setOriginatorUserId(-99L);
requestData.setUserLoginId("SYSTEM");
requestData.setUserId(-99L);
requestData.setTransmissionTime(Calendar.getInstance().getTimeInMillis());
requestData.setTerminalNumber("MBANK");
requestData.setReference(String.valueOf(System.currentTimeMillis()));
requestData.setCurrBUId(-99l);
return requestData;
}
private Object queryAccountBalance(String acctNo) {
AccountBalanceRequest accountBalanceRequest = new AccountBalanceRequest();
accountBalanceRequest = (AccountBalanceRequest) getBaseRequest(accountBalanceRequest);
accountBalanceRequest.setAccountNumber(acctNo);
try {
return MobileControl.accountEndPoint[conIndex].findAccountBalance(accountBalanceRequest);
} catch (RemoteException | XAPIException e) {
RubiLog.getLogger().error(e);
return e;
}
}
private DepositTxnOutputData[] queryAccountStatement(String acctNo) {
TransactionInquiryRequest request = new TransactionInquiryRequest();
request = (TransactionInquiryRequest) getBaseRequest(request);
request.setAccountNumber(acctNo);
request.setTransmissionTime(System.currentTimeMillis());
request.setTxnJournalId(11L);
try {
return MobileControl.transactionsEndPoint[conIndex].findDepositMiniStatement(request)
.getDepositTxnOutputData();
} catch (RemoteException | XAPIException e) {
RubiLog.getLogger().error(e);
}
return null;
}
private Object postDepositToGLTransfer(Transaction txnMapper) {
try {
XAPIBaseTxnRequestData requestData = new XAPIBaseTxnRequestData();
requestData = (XAPIBaseTxnRequestData) getBaseRequest(requestData);
requestData.setAcctNo(txnMapper.getAccountNumber1());
requestData.setContraAcctNo(txnMapper.getAccountNumber2());
requestData.setTxnDescription(txnMapper.getTxnNarration());
requestData.setTxnReference(txnMapper.getReference());
requestData.setReference(txnMapper.getReference());
requestData.setTxnAmount(txnMapper.getTxnAmount());
requestData.setTxnCurrencyCode(txnMapper.getCurrency());
TxnResponseOutputData response = MobileControl.txnProcessEndpoint[conIndex]
.postDepositToGLAccountTransfer(requestData);
txnMapper.setXapiRespCode(response.getResponseCode());
return response;
} catch (Exception ex) {
RubiLog.getLogger().error(ex);
return ex;
}
}
private Object postGLToDepositTransfer(Transaction txnMapper) {
try {
XAPIBaseTxnRequestData requestData = new XAPIBaseTxnRequestData();
requestData = (XAPIBaseTxnRequestData) getBaseRequest(requestData);
requestData.setAcctNo(txnMapper.getAccountNumber1());
requestData.setContraAcctNo(txnMapper.getAccountNumber2());
requestData.setTxnDescription(txnMapper.getTxnNarration());
requestData.setTxnAmount(txnMapper.getTxnAmount());
requestData.setTxnCurrencyCode(txnMapper.getCurrency());
requestData.setTxnReference(txnMapper.getReference());
requestData.setReference(txnMapper.getReference());
TxnResponseOutputData response = MobileControl.txnProcessEndpoint[conIndex]
.postGLToDepositAccountTransfer(requestData);
txnMapper.setXapiRespCode(response.getResponseCode());
return response;
} catch (Exception ex) {
RubiLog.getLogger().error(ex);
return ex;
}
}
private Object postGLToGLTransfer(Transaction ctsTran) {
try {
GLTransferRequest glTransferRequest = (GLTransferRequest) getBaseRequest(new GLTransferRequest());
glTransferRequest.setFromGLAccountNumber(ctsTran.getAccountNumber1());
glTransferRequest.setToGLAccountNumber(ctsTran.getAccountNumber2());
glTransferRequest.setTransactionAmount(ctsTran.getTxnAmount());
glTransferRequest.setAmount(ctsTran.getTxnAmount());
glTransferRequest.setTransactionCurrencyCode(ctsTran.getCurrency());
glTransferRequest.setTransmissionTime(System.currentTimeMillis());
glTransferRequest.setTxnDescription(ctsTran.getTxnNarration());
glTransferRequest.setReference(ctsTran.getReference());
return MobileControl.transactionsEndPoint[conIndex].postGLtoGLXfer(glTransferRequest);
} catch (Exception ex) {
RubiLog.getLogger().error(ex);
return ex;
}
}
private Object postDeposiToDepositAccountTransfer(Transaction ctsTran) {
try {
FundsTransferRequestData transferRequest = new FundsTransferRequestData();
transferRequest = (FundsTransferRequestData) getBaseRequest(transferRequest);
Calendar cal = Calendar.getInstance();
transferRequest.setTransmissionTime(cal.getTimeInMillis());
transferRequest.setFromAccountNumber(ctsTran.getAccountNumber1());
transferRequest.setToAccountNumber(ctsTran.getAccountNumber2());
transferRequest.setTxnDescription(ctsTran.getTxnNarration());
transferRequest.setAcquiringInstitutionCode("");
transferRequest.setTransactionAmount(ctsTran.getTxnAmount());
transferRequest.setAmount(ctsTran.getTxnAmount());
transferRequest.setFromCurrencyCode(ctsTran.getCurrency());
transferRequest.setToCurrencyCode(ctsTran.getCurrency());
transferRequest.setForwardingInstitutionCode("");
transferRequest.setTrack2Data(String.valueOf(System.currentTimeMillis()));
transferRequest.setRetrievalReferenceNumber(ctsTran.getReference());
transferRequest.setLocalTransactionTime(cal);
transferRequest.setReference(ctsTran.getReference());
return MobileControl.fundsTransferEndPoint[conIndex].internalDepositAccountTransfer(transferRequest);
} catch (RemoteException | XAPIException ex) {
RubiLog.getLogger().error(ex);
return ex;
}
}
@SuppressWarnings("deprecation")
public static synchronized Stub getPort(String param) {
Stub stub = null;
try {
switch (param) {
case "account-web-service":
stub = (Stub) (new AccountWebServiceEndPointPort_Impl().getAccountWebServiceSoapPort("proxy_user",
"proxy_password"));
break;
case "transaction-web-service":
stub = (Stub) (new TransactionsWebServiceEndPointPort_Impl()
.getTransactionsWebServiceSoapPort("proxy_user", "proxy_password"));
break;
case "fundstransfer-web-service":
stub = (Stub) (new FundsTransferWebServiceEndPointPort_Impl()
.getFundsTransferWebServiceSoapPort("proxy_user", "proxy_password"));
break;
case "txnprocess-web-service":
stub = (Stub) (new TxnProcessWebServiceEndPointPort_Impl().getTxnProcessWebServiceSoapPort("proxy_user",
"proxy_password"));
break;
default:
stub = (Stub) (new AccountWebServiceEndPointPort_Impl().getAccountWebServiceSoapPort("proxy_user",
"proxy_password"));
break;
}
stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, RMI_URL + CTRL_PARAM_MAP.get(param));
} catch (Exception e) {
RubiLog.getLogger().error(e);
}
return stub;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment