def download_metadata_metadata(job, org): org.status = 'Downloading Metadata' org.save() try: # instantiate the metadata WSDL metadata_client = Client(settings.APP_URL + '/static/metadata-' + str(settings.SALESFORCE_API_VERSION) + '.xml') # URL for metadata API metadata_url = org.instance_url + '/services/Soap/m/' + str( settings.SALESFORCE_API_VERSION) + '.0/' + org.org_id # set the metadata url based on the login result metadata_client.set_options(location=metadata_url) # set the session id from the login result session_header = metadata_client.factory.create("SessionHeader") session_header.sessionId = org.access_token metadata_client.set_options(soapheaders=session_header) # query for the list of metadata types all_metadata = metadata_client.service.describeMetadata( settings.SALESFORCE_API_VERSION) # Components for listing metadata component_list = [] loop_counter = 0 # loop through metadata types for component_type in all_metadata[0]: # create the component type record and save component_type_record = ComponentType() component_type_record.org = org component_type_record.name = component_type.xmlName component_type_record.save() # Component is a folder component - eg Dashboard, Document, EmailTemplate, Report if not component_type.inFolder: # set up the component type to query for components component = metadata_client.factory.create("ListMetadataQuery") component.type = component_type.xmlName # Add metadata to list component_list.append(component) else: # Append "Folder" keyword onto end of component type component = metadata_client.factory.create("ListMetadataQuery") # EmailTemplate = EmailFolder (for some reason) if component_type.xmlName == 'EmailTemplate': component.type = 'EmailFolder' else: component.type = component_type.xmlName + 'Folder' # All folders for specified metadata type all_folders = metadata_client.service.listMetadata( [component], settings.SALESFORCE_API_VERSION) folder_list = [] folder_loop_counter = 0 # Loop through folders for folder in all_folders: # Create component for folder to query folder_component = metadata_client.factory.create( "ListMetadataQuery") folder_component.type = component_type.xmlName folder_component.folder = folder.fullName folder_list.append(folder_component) if len(folder_list) >= 3 or (len(all_folders) - folder_loop_counter) <= 3: # Loop through folder components for folder_component in metadata_client.service.listMetadata( folder_list, settings.SALESFORCE_API_VERSION): # create the component record and save component_record = Component() component_record.component_type = component_type_record component_record.name = folder_component.fullName component_record.save() folder_list = [] folder_loop_counter = folder_loop_counter + 1 # Run the metadata query only if the list has reached 3 (the max allowed to query) # at one time, or if there is less than 3 components left to query if len(component_list) >= 3 or (len(all_metadata[0]) - loop_counter) <= 3: # loop through the components returned from the component query for component in metadata_client.service.listMetadata( component_list, settings.SALESFORCE_API_VERSION): # Query database for parent component_type component_type_query = ComponentType.objects.filter( name=component.type, org=org.id) # Only add if found if component_type_query: # create the component record and save component_record = Component() component_record.component_type = component_type_query[ 0] component_record.name = component.fullName component_record.save() # clear list once done. This list will re-build to 3 components and re-query the service component_list = [] loop_counter = loop_counter + 1 # If a component type has no child components, remove the component type altogether for component_type in ComponentType.objects.filter(org=org.id): if not Component.objects.filter(component_type=component_type.id): component_type.delete() # Create retrieve request retrieve_request = metadata_client.factory.create('RetrieveRequest') retrieve_request.apiVersion = settings.SALESFORCE_API_VERSION retrieve_request.singlePackage = True retrieve_request.packageNames = None retrieve_request.specificFiles = None # List of components to retrieve files for component_retrieve_list = [] # Component types for the org component_types = ComponentType.objects.filter(org=org.id) # Now query through all components and download actual metadata for component_type in component_types: # Loop through child components of the component type for component in component_type.component_set.all(): # Create PackageTypeMember instant to retrieve component_to_retrieve = metadata_client.factory.create( 'PackageTypeMembers') component_to_retrieve.members = component.name component_to_retrieve.name = component_type.name component_retrieve_list.append(component_to_retrieve) # If more than 5k components to retrieve, run it in batches. Otherwise just do it in # one big hit if len(component_retrieve_list) <= 5000: # Execute the callout for all components retrieve_files(org, metadata_client, retrieve_request, component_retrieve_list, None) else: # Iterate over the component types and run in batches for component_type in component_types: component_retrieve_list = [] # Loop through child components of the component type for component in component_type.component_set.all(): # Create PackageTypeMember instant to retrieve component_to_retrieve = metadata_client.factory.create( 'PackageTypeMembers') component_to_retrieve.members = component.name component_to_retrieve.name = component_type.name component_retrieve_list.append(component_to_retrieve) # Execute the retrieve for the component type retrieve_files(org, metadata_client, retrieve_request, component_retrieve_list, component_type.name) except Exception as error: org.status = 'Error' org.error = error org.error_stacktrace = traceback.format_exc() org.save() # Check if both jobs are now finished check_overall_status(job)
def name(self): """ The method name. :rtype: str """ return self._name import pkg_resources import types from suds.sudsobject import Property from suds.sax.text import Text _CAMPAIGN_MANAGEMENT_SERVICE_V13 = Client( 'file:///' + pkg_resources.resource_filename( 'bingads', 'v13/proxies/campaign_management_service.xml')) _CAMPAIGN_OBJECT_FACTORY_V13 = _CAMPAIGN_MANAGEMENT_SERVICE_V13.factory _CAMPAIGN_OBJECT_FACTORY_V13.object_cache = {} _CAMPAIGN_OBJECT_FACTORY_V13.create_without_cache = _CAMPAIGN_OBJECT_FACTORY_V13.create def _suds_objects_deepcopy(origin): if origin is None: return None origin_type = type(origin) if origin_type == Text: return origin if origin_type == list: new = [] for item in origin:
# coidng=utf-8 from suds.client import Client from suds.xsd.doctor import ImportDoctor,Import # suds_jurko: https://bitbucket.org/jurko/suds # web sevice: http://www.webxml.com.cn/zh_cn/web_services.aspx url = 'http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl' imp = Import('http://www.w3.org/2001/XMLSchema',location='http://www.w3.org/2001/XMLSchema.xsd') imp.filter.add('http://WebXml.com.cn/') client = Client(url,plugins = [ImportDoctor(imp)]) # print(client) result = client.service.getWeather('深圳') print (result)
from suds.client import Client from time import sleep import csv a_url = 'http://search.webofknowledge.com/esti/wokmws/ws/WOKMWSAuthenticate?wsdl' a_client = Client(a_url) a_client.set_options(headers={'Authorization': ''}) #encoded log in credentials go here^ ID = a_client.service.authenticate() SID = 'SID=' SID += ID f = open('doi.csv') csv_f = csv.reader(f) saveFile = open('data.xml', 'ab') for doi in csv_f: sleep(0.6) url = 'http://search.webofknowledge.com/esti/wokmws/ws/WokSearch?wsdl' client = Client(url, retxml=True) client.set_options(headers={'Content-type': 'text/xml', 'Cookie': SID}) qparams = {'databaseId': 'WOS', 'userQuery': doi, 'queryLanguage': 'en'} fields = { 'collectionName': 'WOS', 'fieldName': 'name', 'fieldName': 'title', 'fieldName': 'abstract'
import json # import json เข้ามาใช้แปลงจาก Dict เป็น json import xmltodict # แปลง xml ให้เป็น Dict import subprocess as sp from suds.client import Client # เข้าไปอ่านไฟล์จาก Website import os client = Client('https://www.pttor.com/OilPrice.asmx?WSDL') OilPrice = client.service.CurrentOilPrice(Language='thai') OilPrice1 = xmltodict.parse(OilPrice) Price = eval(json.dumps(OilPrice1)) op = dict() w, h = os.get_terminal_size() print(w, h) def func_main(): # แสดงข้อมูลราคาและชนิดน้ำมัน sp.call('clear', shell=True) oil_li = [{ "name": "1.Gasoline 95 ", "price": 29.16 }, { "name": "2.Gasoline 91 ", "price": 25.30 }, { "name": "3.Gassohol 91 ", "price": 21.68 }, { "name": "4.Gassohol E20 ", "price": 20.20 }, {
def vies_vat_change(self): def _check_city(lines, country='BE'): if country == 'GB': ukzip = '[A-Z]{1,2}[0-9][0-9A-Z]?\s?[0-9][A-Z]{2}' if re.match(ukzip, lines[-1]): cp = lines.pop() city = lines.pop() return (cp, city) elif country == 'SE': result = re.match('([0-9]{3}\s?[0-9]{2})\s?([A-Z]+)', lines[-1]) if result: lines.pop() return (result.group(1), result.group(2)) else: result = re.match('((?:L-|AT-)?[0-9\-]+[A-Z]{,2}) (.+)', lines[-1]) if result: lines.pop() return (result.group(1), result.group(2)) return False def _set_address_field(partner, field, value): partner[field] = value non_set_address_fields.remove(field) if stdnum_vat is None: return {} for partner in self: # If a field is non set in this algorithm # wipe it anyway non_set_address_fields = set( ['street', 'street2', 'city', 'zip', 'state_id', 'country_id']) if not partner.vat: return {} if len(partner.vat) > 5 and partner.vat[:2].lower( ) in stdnum_vat.country_codes: # Equivalent to stdnum_vat.check_vies(partner.vat). # However, we want to add a custom timeout to the suds.client # because by default, it's 120 seconds and this is to long. try: client = Client(stdnum_vat.vies_wsdl, timeout=5) partner_vat = stdnum_vat.compact(partner.vat) result = client.service.checkVat(partner_vat[:2], partner_vat[2:]) except: # Avoid blocking the client when the service is unreachable/unavailable return {} if not result['valid']: return {} if (not partner.name) and (result['name'] != '---'): partner.name = result['name'] #parse the address from VIES and fill the partner's data if result['address'] == '---': return {} lines = [x for x in result['address'].split("\n") if x] if len(lines) == 1: lines = [x.strip() for x in lines[0].split(',') if x] if len(lines) == 1: lines = [x.strip() for x in lines[0].split(' ') if x] _set_address_field(partner, 'street', lines.pop(0)) if len(lines) > 0: res = _check_city(lines, result['countryCode']) if res: _set_address_field(partner, 'zip', res[0]) _set_address_field(partner, 'city', res[1]) if len(lines) > 0: _set_address_field(partner, 'street2', lines.pop(0)) country = self.env['res.country'].search( [('code', '=', result['countryCode'])], limit=1) _set_address_field(partner, 'country_id', country and country.id or False) for field in non_set_address_fields: if partner[field]: partner[field] = False
def setUp(self): self.client = Client("http://localhost:9753/?wsdl", cache=None) self.ns = "soaplib.test.interop.server._service"
def test_hello(url, name): client = Client(url) args = json.dumps({'name': '请求参数'}) rs = client.service.hello_test(name, args) print(rs)
def test_userRegister(self, value): userRegister_param = eval(context.replace_new(self.userRegister_data)) register_mobile = userRegister_param["mobile"] # 发短信数据准备 self.MCodeParam["mobile"] = register_mobile MCode().sendMCode(self.MCodeParam) # 注册数据准备 user_id = userRegister_param["user_id"] userRegister_param["verify_code"] = MCode().getMcode(register_mobile) url = ReadConfig().get_value("env-api", "pre_url") + value["url"] client = Client(url) client.service.userRegister(userRegister_param) # 以上代码能跑通 id = value["id"] title = value["title"] verifyuserauth_param = eval(context.replace_new(value["data"])) if title != "不注册直接认证(uid不存在)" and title != "uid为空": verifyuserauth_param["uid"] = db_select.getuid(user_id) true_name = getattr(Context, "true_name") if title != "用户姓名为空": verifyuserauth_param["true_name"] = true_name expect = str(value["expect"]) logger.info(verifyuserauth_param) res = client.service.verifyUserAuth(verifyuserauth_param) logger.info(res) res.retCode = str(res.retCode) after_max_fpk_id = db_select.get_max_Fpk_id() try: self.assertEqual(expect, res.retCode) logger.info("判断校验码成功") if res.retCode == "0": try: self.assertEqual(self.before_max_fpk_id, after_max_fpk_id - 1) logger.info("验库成功") except AssertionError as e: logger.error("验库失败") self.excel.write_data(id + 1, 7, res.retCode) self.excel.write_data(id + 1, 8, "Failed") raise e else: try: self.assertEqual(self.before_max_fpk_id, after_max_fpk_id) logger.info("验库成功") except AssertionError as e: self.excel.write_data(id + 1, 7, res.retCode) self.excel.write_data(id + 1, 8, "Failed") logger.error("验库失败") raise e self.excel.write_data(id + 1, 7, res.retCode) self.excel.write_data(id + 1, 8, "Pass") except AssertionError as e: logger.error("校验码失败") self.excel.write_data(id + 1, 7, res.retCode) self.excel.write_data(id + 1, 8, "Failed") raise e
def _ExpressAddPackageNew(self, packageinfo): result = {} result["status"] = 0 result["data"] = {} result["data"]["message"] = packageinfo["message"] if packageinfo["status"]: client = Client(self.Url) servicereq = client.factory.create('ExpressAddPackageNewRequest') servicereq.Token = self.Token servicereq.UserKey = self.UserKey servicereq.OrderSign = "" servicereq.ExpressType = "UNKNOWN" servicereq.ExpressTypeNew = packageinfo["data"]["shipping"] servicereq.IsTracking = True servicereq.PickupType = 0 servicereq.PackageDetail = { 'Custom': packageinfo["data"]["Custom"], 'CheckRepeatRefNo': packageinfo["data"]["CheckRepeatRefNo"], "RefNo": packageinfo["data"]["RefNo"], "ShipToAddress": { 'City': packageinfo["data"]["ShipToAddress_City"], 'Contact': packageinfo["data"]["ShipToAddress_Contact"], 'Country': packageinfo["data"]["ShipToAddress_Country"], 'Email': packageinfo["data"]["ShipToAddress_Email"], 'Phone': packageinfo["data"]["ShipToAddress_Phone"], 'PostCode': packageinfo["data"]["ShipToAddress_PostCode"], 'Province': packageinfo["data"]["ShipToAddress_Province"], 'Street1': packageinfo["data"]["ShipToAddress_Street1"], 'Street2': packageinfo["data"]["ShipToAddress_Street2"] }, "Packing": { "Length": packageinfo["data"]["Packing_Length"], "Width": packageinfo["data"]["Packing_Length"], "Height": packageinfo["data"]["Packing_Length"], }, "Weight": packageinfo["data"]["Weight"], 'Status': packageinfo["data"]["Status"], "TrackCode": packageinfo["data"]["TrackCode"], "Remark": packageinfo["data"]["Remark"], 'ProductList': { "ExpressProduct": [ { "CustomsTitleEN": packageinfo["data"]["ProductList_CustomsTitleEN"], "DeclareValue": packageinfo["data"]["ProductList_DeclareValue"], "Quantity": packageinfo["data"]["ProductList_Quantity"], "Weight": packageinfo["data"]["ProductList_Weight"], } ] }, "SendedStatus": packageinfo["data"]["SendedStatus"], } expressAddPackageNew_Return = client.service.ExpressAddPackageNew(servicereq) result["data"]["message"] += expressAddPackageNew_Return["Message"] if expressAddPackageNew_Return["Ack"] == "Success": result["status"] = 1 result["data"]["trackCode"] = expressAddPackageNew_Return["TrackCode"] # 货物跟踪编号 result["data"]["custom"] = expressAddPackageNew_Return["Custom"] # 客户备注 result["data"]["itemSign"] = expressAddPackageNew_Return["ItemSign"] # 处理号 result["data"]["orderSign"] = expressAddPackageNew_Return["OrderSign"] # 订单号 return result
from boto.route53.exception import DNSServerError # Get the domain name from the command line, print usage if not given if len(sys.argv) < 2: print "Usage: %s <domainname>" % sys.argv[0] sys.exit(1) else: zonename = sys.argv[1] # Base64 encode password b64password = base64.b64encode(netticapassword) # Initialize Nettica url = 'https://www.nettica.com/DNS/DnsApi.asmx?WSDL' nettica = Client(url) # Initialize the connection to AWS Route53 route53 = Route53Connection(awskeyid, awskeysecret) # Logging for debug #import logging #logging.basicConfig(level=logging.INFO) #logging.getLogger('suds.client').setLevel(logging.DEBUG) try: (resultstatus, resultcount, netticarecords) = nettica.service.ListDomain(netticausername, b64password, zonename) except ValueError: print "Unable to find domain %s in Nettica or credentials incorrect" % zonename
el.append(sub) else: sub = get_suds_element(right, str(left)) el.append(sub) return el print "OMWS 1.0 test (v1)" print "==================" print "Testing endpoint: " + endpoint # General settings wsdl = 'http://openmodeller.cria.org.br/ws/1.0/openModeller.wsdl' # Instantiate SOAP client soap_client = Client(wsdl, location=endpoint, prettyxml=True) soap_client.add_prefix('om', 'http://openmodeller.cria.org.br/xml/1.0') soap_client.add_prefix('soap', 'http://schemas.xmlsoap.org/soap/envelope/') # Ignore logs h = NullLogHandler() logging.getLogger('suds.client').addHandler(h) logging.getLogger('suds.umx.typed').addHandler(h) logging.getLogger('suds.plugin').addHandler(h) ##### PING ################################### try: status = soap_client.service.ping() except Exception, e: print 'ping call failure:', str(e)
def main(g_params): #{{{ argv = sys.argv numArgv = len(argv) if numArgv < 2: PrintHelp() return 1 wsdl_url = "http://v2.topcons.net/pred/api_submitseq/?wsdl" mode = "" jobid = "" email = "" jobname = "" fixtopfile = "" seqfile = "" outpath = "./" i = 1 isNonOptionArg = False while i < numArgv: if isNonOptionArg == True: print("Error! Wrong argument:", argv[i], file=sys.stderr) return 1 isNonOptionArg = False i += 1 elif argv[i] == "--": isNonOptionArg = True i += 1 elif argv[i][0] == "-": if argv[i] in ["-h", "--help"]: PrintHelp() return 0 elif argv[i] in ["-m", "--m"]: (mode, i) = my_getopt_str(argv, i) elif argv[i] in ["-seq", "--seq"]: (seqfile, i) = my_getopt_str(argv, i) elif argv[i] in ["-jobname", "--jobname"]: (jobname, i) = my_getopt_str(argv, i) elif argv[i] in ["-email", "--email"]: (email, i) = my_getopt_str(argv, i) elif argv[i] in ["-fix", "--fix"]: (fixtopfile, i) = my_getopt_str(argv, i) elif argv[i] in ["-jobid", "--jobid"]: (jobid, i) = my_getopt_str(argv, i) elif argv[i] in ["-outpath", "--outpath"]: (outpath, i) = my_getopt_str(argv, i) else: print("Error! Wrong argument:", argv[i], file=sys.stderr) return 1 else: print("Error! Wrong argument:", argv[i], file=sys.stderr) return 1 if mode == "": print("mode not set. exit!", file=sys.stderr) print(usage_short) return 1 elif not mode in ["submit", "get"]: print("unrecognized mode. exit!", file=sys.stderr) print(usage_short) return 1 if mode == "submit": if seqfile == "": print("You want to submit a job but seqfile not set. exit!", file=sys.stderr) print(usage_short) return 1 elif not os.path.exists(seqfile): print("seqfile %s does not exist. exit!" % (seqfile), file=sys.stderr) return 1 try: filesize = os.path.getsize(seqfile) except OSError: print("failed to get the size of seqfile %s. exit" % (seqfile), file=sys.stderr) return 1 if filesize >= MAX_FILESIZE: print("You input seqfile %s exceeds the "\ "upper limit %d Mb."%(seqfile, MAX_FILESIZE_IN_MB), file=sys.stderr) print("Please split your seqfile and submit again.", file=sys.stderr) return 1 seq = ReadFile(seqfile) fixtop = "" if fixtopfile != "": fixtop = ReadFile(fixtopfile) myclient = Client(wsdl_url, cache=None) retValue = myclient.service.submitjob(seq, fixtop, jobname, email) if len(retValue) >= 1: strs = retValue[0] jobid = strs[0] result_url = strs[1] numseq_str = strs[2] errinfo = strs[3] warninfo = strs[4] if jobid != "None" and jobid != "": print("You have successfully submitted your job "\ "with %s sequences. jobid = %s"%(numseq_str, jobid)) if warninfo != "" and warninfo != "None": print("Warning message:\n", warninfo) else: print("Failed to submit job!") if errinfo != "" and errinfo != "None": print("Error message:\n", errinfo) if warninfo != "" and warninfo != "None": print("Warning message:\n", warninfo) else: print("Failed to submit job!") return 1 else: if jobid == "": print( "You want to get the result of a job but jobid not set. exit!", file=sys.stderr) return 1 myclient = Client(wsdl_url, cache=None) retValue = myclient.service.checkjob(jobid) if len(retValue) >= 1: strs = retValue[0] status = strs[0] result_url = strs[1] errinfo = strs[2] if status == "Failed": print("Your job with jobid %s is failed!" % (jobid)) if errinfo != "" and errinfo != "None": print("Error message:\n", errinfo) elif status == "Finished": print("Your job with jobid %s is finished!" % (jobid)) if not os.path.exists(outpath): try: os.makedirs(outpath) except OSError: print("Failed to create the outpath %s" % (outpath)) return 1 outfile = "%s/%s.zip" % (outpath, jobid) urllib.request.urlretrieve(result_url, outfile) if os.path.exists(outfile): print( "The result file %s has been retrieved for jobid %s" % (outfile, jobid)) else: print("Failed to retrieve result for jobid %s" % (jobid)) elif status == "None": print( "Your job with jobid %s does not exist! Please check you typing!" % (jobid)) else: print("Your job with jobid %s is not ready, status = %s" % (jobid, status)) else: print("Failed to get job!") return 1 return 0
def process(self, _edObject=None): """ First uses the ImageService to find the imageId. Then uses ToolsForCollectionWebService for storing the image quality indicators. """ EDPluginExec.process(self) self.DEBUG("EDPluginISPyBStoreImageQualityIndicatorsv1_4.process") # First get the image ID xsDataImageQualityIndicators = self.getDataInput( ).getImageQualityIndicators() strPathToImage = xsDataImageQualityIndicators.getImage().getPath( ).getValue() strDirName = os.path.dirname(strPathToImage) strFileName = os.path.basename(strPathToImage) httpAuthenticatedToolsForAutoprocessingWebService = HttpAuthenticated( username=self.strUserName, password=self.strPassWord) clientToolsForAutoprocessingWebService = Client( self.strToolsForAutoprocessingWebServiceWsdl, transport=httpAuthenticatedToolsForAutoprocessingWebService) iImageId = 0 iAutoProcProgramId = self.iAutoProcProgramId iSpotTotal = self.getXSValue(xsDataImageQualityIndicators.spotTotal) iInResTotal = self.getXSValue(xsDataImageQualityIndicators.inResTotal) iGoodBraggCandidates = self.getXSValue( xsDataImageQualityIndicators.goodBraggCandidates) iIceRings = self.getXSValue(xsDataImageQualityIndicators.iceRings) fMethod1res = self.getXSValue(xsDataImageQualityIndicators.method1Res) fMethod2res = self.getXSValue(xsDataImageQualityIndicators.method2Res) fMaxUnitCell = self.getXSValue( xsDataImageQualityIndicators.maxUnitCell) fPctSaturationTop50peaks = self.getXSValue( xsDataImageQualityIndicators.pctSaturationTop50Peaks) iInResolutionOvrlSpots = self.getXSValue( xsDataImageQualityIndicators.inResolutionOvrlSpots) fBinPopCutOffMethod2res = self.getXSValue( xsDataImageQualityIndicators.binPopCutOffMethod2Res) fTotalIntegratedSignal = self.getXSValue( xsDataImageQualityIndicators.totalIntegratedSignal) fBackground3D_score = self.getXSValue( xsDataImageQualityIndicators.background3D_score) providedDate = DateTime(datetime.datetime.now()) self.iImageQualityIndicatorsId = clientToolsForAutoprocessingWebService.service.storeOrUpdateImageQualityIndicatorsForFileName( fileLocation=strDirName, \ fileName=strFileName, \ imageId=iImageId, \ autoProcProgramId=iAutoProcProgramId, \ spotTotal=iSpotTotal, \ inResTotal=iInResTotal, \ goodBraggCandidates=iGoodBraggCandidates, \ iceRings=iIceRings, \ method1Res=fMethod1res, \ method2Res=fMethod2res, \ maxUnitCell=fMaxUnitCell, \ pctSaturationTop50Peaks=fPctSaturationTop50peaks, \ inResolutionOvrlSpots=iInResolutionOvrlSpots, \ binPopCutOffMethod2Res=fBinPopCutOffMethod2res, \ totalIntegratedSignal=fTotalIntegratedSignal, \ background3D_score=fBackground3D_score) self.DEBUG( "EDPluginISPyBStoreImageQualityIndicatorsv1_4.process: imageQualityIndicatorsId=%r" % self.iImageQualityIndicatorsId)
# coding:utf-8 from suds.client import Client # hello_client = Client('http://40.125.204.79:7792/bigweb/services/SafeOutAccess?wsdl') hello_client = Client('http://40.125.204.79:7792/bigweb/services/SafeOutAccess?wsdl') print hello_client hello_client.options.cache.clear() # print hello_client # result = hello_client.service.say_hello( # """<?xml version="1.0" encoding="UTF-8" ?> # <root> # <QueryCondition> # <wjm>11001901120180305000008</wjm> # </QueryCondition> # <QueryCondition> # <wjm>11001901120180305000010</wjm> # </QueryCondition> # <QueryCondition> # <wjm>09000109120171123000004</wjm> # </QueryCondition></root>""") ss = """ <root> <QueryCondition> <wjm>11001901120180305000008</wjm> </QueryCondition> <QueryCondition> <wjm>11001901120180305000010</wjm> </QueryCondition> <QueryCondition> <wjm>09000109120171123000004</wjm>
def ConoceDia(self, time): url = 'http://localhost/SaberDia/nuSoap.php?wsdl' client = Client(url) client.options.cache.clear() #make this line cl = client.service.dia_tuit(time) return cl
def get_client(self): if not self._client: url = settings.USA_EPAY_SOAP_1_4 self._client = Client(url) return self._client
def __init__(self): self.url = 'http://legislatie.just.ro/apiws/FreeWebService.svc?wsdl' self.client = Client(self.url) self.token = self.client.service.GetToken()
def _get_partner_vals(self, vat): def _check_city(lines, country='BE'): if country == 'GB': ukzip = '[A-Z]{1,2}[0-9][0-9A-Z]?\s?[0-9][A-Z]{2}' if re.match(ukzip, lines[-1]): cp = lines.pop() city = lines.pop() return (cp, city) elif country == 'SE': result = re.match('([0-9]{3}\s?[0-9]{2})\s?([A-Z]+)', lines[-1]) if result: lines.pop() return (result.group(1), result.group(2)) else: result = re.match('((?:L-|AT-)?[0-9\-]+[A-Z]{,2}) (.+)', lines[-1]) if result: lines.pop() return (result.group(1), result.group(2)) return False # Equivalent to stdnum_vat.check_vies(partner.vat). # However, we want to add a custom timeout to the suds.client # because by default, it's 120 seconds and this is to long. try: client = Client(stdnum_vat.vies_wsdl, timeout=5) partner_vat = stdnum_vat.compact(vat) result = client.service.checkVat(partner_vat[:2], partner_vat[2:]) except: # Avoid blocking the client when the service is unreachable/unavailable return False, {} if not result['valid']: return False, {} partner_name = False partner_address = {} if result['name'] != '---': partner_name = result['name'] #parse the address from VIES and fill the partner's data if result['address'] == '---': return partner_name, {} lines = [x for x in result['address'].split("\n") if x] if len(lines) == 1: lines = [x.strip() for x in lines[0].split(',') if x] if len(lines) == 1: lines = [x.strip() for x in lines[0].split(' ') if x] vals = self._split_street_with_params(', '.join(lines.pop(0).rsplit(' ', 1)), '%(street_name)s, %(street_number)s/%(street_number2)s') partner_address.update(vals) if len(lines) > 0: res = _check_city(lines, result['countryCode']) if res: partner_address['zip'] = res[0] partner_address['city'] = res[1] #_set_address_field(partner, 'zip', res[0]) #_set_address_field(partner, 'city', res[1]) if len(lines) > 0: partner_address['street2'] = lines.pop(0) #_set_address_field(partner, 'street2', lines.pop(0)) country = self.env['res.country'].search([('code', '=', result['countryCode'])], limit=1) #_set_address_field(partner, 'country_id', country and country.id or False) partner_address['country_id'] = country and country.id or False return partner_name, partner_address
def _get_client(self, wsdl): wsdl_url = self.wsdlURL(wsdl) # Setting prefixes=False does not help return Client(wsdl_url, plugins=[FixRequestNamespacePlug()])
def get_project_list(self): client = Client(self.url) projects = client.service.mc_projects_get_user_accessible( self.username, self.password) return [x.name for x in projects]
from suds.client import Client url = "http://123.56.21.37:8080/webservice/helloWebService?wsdl" clientCla = Client(url)
def main(): parser = OptionParser() parser.add_option('-f', dest='file', help='Please specify file name with extension.') parser.add_option('-i', dest='host', help='Please specify UCM address.') parser.add_option('-u', dest='user', help='Enter Username.') parser.add_option('-p', dest='pwd', help='Enter Password.') parser.add_option('-v', dest='ver', help='Enter Version.') (options, args) = parser.parse_args() global ip, user, pwd, client, axlver, wsdl if options.ver: axlver = options.ver else: axlver = raw_input( "Please Enter the version of the CUCM cluster (10.0, 10.5, 11.0, 11.5) > " ) if options.host: ip = options.host else: ip = raw_input( "Please Enter the IP Address or Hostname of your CUCM > ") if options.user: user = options.user else: user = raw_input("Please Enter Your CUCM User ID > ") if options.pwd: pwd = options.pwd else: pwd = getpass("Please Enter Your Password > ") tns = 'http://schemas.cisco.com/ast/soap/' imp = Import('http://schemas.xmlsoap.org/soap/encoding/', 'http://schemas.xmlsoap.org/soap/encoding/') imp.filter.add(tns) location = 'https://' + ip + ':8443/axl/' wsdl = axltoolkit(axlver) try: client = Client(wsdl, location=location, faults=False, plugins=[ImportDoctor(imp)], username=user, password=pwd) except: print "Error with version or IP address of server. Please try again." sys.exit() try: verresp = client.service.getCCMVersion() except: print('Unknown Error. Please try again.') sys.exit() if verresp[0] == 401: print('Authentication failure. Wrong username or password.') sys.exit() cucmver = verresp[1]['return'].componentVersion.version cucmsplitver = cucmver.split('.') cucmactualver = cucmsplitver[0] + '.' + cucmsplitver[1] print('This cluster is version ' + cucmver) if axlver != cucmactualver: print('You chose the wrong version. The correct version is ' ) + cucmactualver print('Please choose the correct version next time.') sys.exit() with open(options.file, 'r') as f: for dn_dest in f.readlines(): if ',' in dn_dest: dn_dest = dn_dest.split(',') # split the current line with a comma into two variables, phone and DevicePool phone, newdevicepool = dn_dest[0], dn_dest[1].rstrip() get_phone_resp = client.service.getPhone(name=phone) devicepoolval = get_phone_resp[1]['return'].phone.devicePoolName devicepoolval.value = newdevicepool dpuuidfull = client.service.getDevicePool(name=newdevicepool) dpuuidmain = dpuuidfull[1]['return'].devicePool._uuid devicepoolval._uuid = dpuuidmain update_phone_resp = client.service.updatePhone( name=phone, devicePoolName=devicepoolval) if update_phone_resp[0] == 200: print("Success - Changed Device Pool on phone %s." % (phone)) else: print("Problem changing Device Pool on phone %s." % (phone))
__author__ = 'artzab' from suds.client import Client import logging logging.basicConfig(level=logging.INFO) testClient = Client('http://localhost:7789/?wsdl', cache=None) result = testClient.service.GetGroups() print result
protocol = 'https' server = 'localhost:9887' service_path = 'webapps/ws/services' url_header = protocol + "://" + server + "/" + service_path + "/" vendor_id = "bbdn" program_id = "Test" registration_password = "" tool_description = "Test registration for Liverpool" shared_password = "******" # This is the pattern for the SUDS library to dynamically create your Web Service code. # There are caching capabilities so that you can avoid this overhead everytime your script runs. # I have included the code for each endpoint, although only the ones I need are uncommented. url = url_header + 'Context.WS?wsdl' contextWS = Client(url, autoblend=True) if DEBUG == True: print(contextWS) # Initialize headers and then call createHeaders to generate the soap headers with WSSE bits. headers = [] headers = createHeaders('initialize', "session", "nosession", 'Context.WS') # Add Headers and WS-Security to client. Set port to default value, otherwise, you must add to service call contextWS.set_options(soapheaders=headers, port='Context.WSSOAP12port_https') # Initialize Context sessionId = contextWS.service.initialize() if DEBUG == True: print(sessionId)
# raise Inconsistent_data_exception() sys.exit(10) # calculate number of record delta = (draw.output_time_date - start_td).total_seconds() num_of_record = int(delta / (3600 * draw.record)) # number of record # path to the results path_to_calc = token + '/NormPole/' + str(draw.calc_id) else: pass # === Stage 2 === url = 'http://' + os.environ['ICS_BALTIC_SERVER_IP'] + ':7889/?wsdl' hello_client = Client(url) # ===Connected=== try: result = hello_client.service.draw( draw.calc_id, path_to_calc, draw.plot_type, draw.depth, draw.crosssection, draw.cs_type, draw.cs_value, draw.cs_limits_min, draw.cs_limits_max, num_of_record, draw.scale, draw.scale_min, draw.scale_max, draw.scale_step, draw.zoom, draw.zoom_lon_min, draw.zoom_lon_max, draw.zoom_lat_min, draw.zoom_lat_max, draw.duration, draw.record) # print(result) if result: path_name = result.split(' ') try: ftp = FTP(os.environ["ICS_BALTIC_FTP_IPADDR"])
from suds.client import Client url = "http://www.thomas-bayer.com/axis2/services/BLZService?wsdl" client = Client(url) ##print client ## shows the details of this service result = client.service.getBank('34250000') print result.bezeichnung ## see: restult.txt below
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # from suds import WebFault from suds.client import Client c = Client('http://*****:*****@bbit') print('Authentication for %r successful. Session id: %r' % (user_name, session_id)) request_header = c.factory.create('RequestHeader') request_header.session_id = session_id request_header.user_name = user_name c.set_options(soapheaders=request_header) print('Preferences for %r:' % user_name) print(c.service.get_preferences(user_name))
def __init__(self, url): self.client = Client(url)
# -- coding:UTF-8 --<code> # 查验发票测试1 from suds.client import Client chayan = Client( 'http://fpcy.sdaisino.com:8085/CheckCodeService/CXF/GetInvoiceService?wsdl' ) print( chayan.service.getInvoice('<?xml version="1.0" encoding="UTF-8"?>\ <CheckData>\ <InvData>\ <TaxCode>91321204063278931X</TaxCode>\ <Password>c4ca4238a0b923820dcc509a6f75849b</Password>\ <InvCode>3100193130</InvCode>\ <InvNo>51792388</InvNo>\ <InvTime>2020-03-04</InvTime>\ <InvOther>1131.59</InvOther>\ </InvData>\ </CheckData>\ '))