Rev 6054 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
from suds.client import Clientimport base64, refrom xml.dom.minidom import parseString#url = 'http://182.71.104.182/loaddetect/Service.asmx?wsdl'#client = Client(url)#print client.service.HelloWorld()username = base64.b64encode('saholic20')password = base64.b64encode('ap2020sh')account_url = 'http://125.19.68.55/McommWebServices/AccountApiMcomm?wsdl'recharge_url = 'http://125.19.68.55/McommWebServices/RechargeApiMcomm?wsdl'aclient = Client(account_url)def rechargeDevice(transactionId, rechargeType, strProviderCode, deviceNumber, amount):raclient = Client(recharge_url)spString = raclient.service.getRecharge(username, password, '919650889334', 'SOAP', '115.249.47.66', transactionId, rechargeType, strProviderCode, deviceNumber, amount, 'DEBIT', '', '')spString = re.sub('<\?.*\?>','',spString)spString = "<dom>" + spString + "</dom>"dom = parseString(spString)response = dom.getElementsByTagName('ActiveServicesPojo')[0]retStatus = response.getElementsByTagName('resStatus')[0].childNodes[0].dataretCode = response.getElementsByTagName('respCode')[0].childNodes[0].dataspiceTID = response.getElementsByTagName('SpiceTID')[0].childNodes[0].datareturn retStatus, retCode, spiceTIDdef getAccountdetail():return aclient.service.getAccountdetail(username, password)def getBalance():return aclient.service.getBalance(username, password)def checkServiceProviderApi(strServiceCode, strDeviceNumber):return aclient.service.checkServiceProviderApi(username, password, strServiceCode, strDeviceNumber)def validateService(strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan):return aclient.service.validateService(username, password, strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan)def getAvailableServices():spString = aclient.service.getServiceApi(username, password)spString = re.sub('<\?.*\?>','',spString)spString = "<dom>" + spString + "</dom>"dom = parseString(spString)serviceApis = dom.getElementsByTagName('ServiceApiPojo')services = {}for serviceApi in serviceApis:services[serviceApi.getElementsByTagName('serviceCode')[0].childNodes[0].data] = serviceApi.getElementsByTagName('serviceDescription')[0].childNodes[0].datareturn servicesdef getServiceProvidersForMobile():return getServiceProvider('MTP')def getServiceProvidersForDTH():return getServiceProvider('RCH')def getServiceProvider(strServiceCode):spString = aclient.service.getServiceProvider(username, password, strServiceCode)spString = re.sub('<\?.*\?>','',spString)spString = "<dom>" + spString + "</dom>"dom = parseString(spString)providers = dom.getElementsByTagName('ServicesProviderPojo')serviceProviders = {}for provider in providers:serviceProviders[provider.getElementsByTagName('providerCode')[0].childNodes[0].data] = provider.getElementsByTagName('providerDescription')[0].childNodes[0].datareturn serviceProvidersdef getServiceDetails(strServiceCode, strProviderCode):spString = aclient.service.getServiceDetail(username, password, strServiceCode, strProviderCode)spString = re.sub('<\?.*\?>','',spString)spString = "<dom>" + spString + "</dom>"dom = parseString(spString)details = dom.getElementsByTagName('ServiceDetailPojo')serviceDetails = {}for detail in details:serviceDetails['Denomination Type'] = detail.getElementsByTagName('DenominationType')[0].childNodes[0].dataserviceDetails['Denomination Value'] = detail.getElementsByTagName('DenominationValue')[0].childNodes[0].datareturn serviceDetails