def __init__(self, keyStore, trustStore, wsUri, verbose): self.transport = HTTPSClientCertTransport(keyStore, keyStore, trustStore) self.c = Client(self.wsdl, location=wsUri, transport=self.transport) if verbose: logging.basicConfig(level=logging.INFO) logging.getLogger('suds.client').setLevel(logging.INFO) logging.getLogger('suds.transport').setLevel(logging.DEBUG)
class D2SCaller(): wsdl = "file:caller/wsdl/dxs/49/D2SInterfaceFrontEnd.wsdl" wsTime = -1 def __init__(self, keyStore, trustStore, wsUri, verbose): self.transport = HTTPSClientCertTransport(keyStore, keyStore, trustStore) self.c = Client(self.wsdl, location=wsUri, transport=self.transport) if verbose: logging.basicConfig(level=logging.INFO) logging.getLogger('suds.client').setLevel(logging.INFO) logging.getLogger('suds.transport').setLevel(logging.DEBUG) def buildSignatureExParameter(self): return self.c.factory.create('signatureEx') def signatureEx(self, parameters): ts = time.time() response = self.c.service.signatureEx(parameters.requestId, parameters.transactionId, parameters.tag, parameters.dataToSign, parameters.detachedSignature, parameters.signatureFormat, parameters.signatureType, parameters.signatureParameter) wsTime = time.time() - ts self.wsTime = int(wsTime * 1000) return response def getExcetionTime(self): return self.wsTime def getpeercert(self): # print "pprint ", pprint.pprint(transport.getpeercert()) cert = self.transport.getpeercert() return ", ".join(str(val[0][1]) for val in cert['subject'])
def __init__(self, keyStore, trustStore, wsUri, verbose=False): self.transport = HTTPSClientCertTransport(keyStore, keyStore, trustStore) self.secretPort = Client(self.wsdl, location=wsUri + "secret", transport=self.transport, plugins=[MyPlugin()]) # self.secretPort.add_prefix('nsdcom', 'http://www.dictao.com/d3s/xsd/v2010_10/Common') if verbose: logging.basicConfig(level=logging.INFO) logging.getLogger('suds.client').setLevel(logging.INFO) logging.getLogger('suds.transport').setLevel(logging.DEBUG)
def __init__(self, keyStore, trustStore, wsUri, verbose=False): self.transport = HTTPSClientCertTransport(keyStore, keyStore, trustStore) self.transport2 = HTTPSClientCertTransport(keyStore, keyStore, trustStore) self.secretPort = Client(self.wsdl, location=wsUri + "SecretPort", port='SecretPort', transport=self.transport) self.depositPort = Client(self.wsdl, location=wsUri + "DepositPort", port='DepositPort', transport=self.transport2) if verbose: logging.basicConfig(level=logging.INFO) logging.getLogger('suds.client').setLevel(logging.INFO) logging.getLogger('suds.transport').setLevel(logging.DEBUG)
class D3SAuthorityCaller(): wsdl = path2url("caller/wsdl/d3s/v2/v2_1_Authority.wsdl") + '#SecretPort' wsTime = -1 def __init__(self, keyStore, trustStore, wsUri, verbose=False): self.transport = HTTPSClientCertTransport(keyStore, keyStore, trustStore) self.transport2 = HTTPSClientCertTransport(keyStore, keyStore, trustStore) self.secretPort = Client(self.wsdl, location=wsUri + "SecretPort", port='SecretPort', transport=self.transport) self.depositPort = Client(self.wsdl, location=wsUri + "DepositPort", port='DepositPort', transport=self.transport2) if verbose: logging.basicConfig(level=logging.INFO) logging.getLogger('suds.client').setLevel(logging.INFO) logging.getLogger('suds.transport').setLevel(logging.DEBUG) def buildAccessPermissions(self): return self.depositPort.factory.create('ns2:AccessPermissions') def setDeletable(self, applicantPath, motivation, resourcePath): response = None result = False ts = time.time() try: accessPermissions = self.buildAccessPermissions() accessPermissions.deletable = True response = self.depositPort.service.changeAccessPermissions(applicantPath, motivation, resourcePath, accessPermissions) result = True except Exception as e: response = e wsTime = time.time() - ts self.wsTime = int(wsTime * 1000) return result, self.wsTime, response def discard(self, applicantPath, motivation, resourcePath): response = None result = False ts = time.time() try: response = self.depositPort.service.discardDeposit(applicantPath, motivation, resourcePath) result = True except Exception as e: response = e wsTime = time.time() - ts self.wsTime = int(wsTime * 1000) return result, self.wsTime, response def grantWrite(self, applicantPath, motivation, resourcePath): response = None result = False ts = time.time() try: response = self.secretPort.service.grantWrite(applicantPath, motivation, resourcePath) if response is not None: result = True except Exception as e: response = e wsTime = time.time() - ts self.wsTime = int(wsTime * 1000) return result, self.wsTime, response def grantDelete(self, applicantPath, motivation, resourcePath): response = None result = False ts = time.time() try: response = self.secretPort.service.grantDelete(applicantPath, motivation, resourcePath) if response is not None: result = True except Exception as e: response = e wsTime = time.time() - ts self.wsTime = int(wsTime * 1000) return result, self.wsTime, response def grantRead(self, applicantPath, motivation, resourcePath): response = None result = False ts = time.time() try: response = self.secretPort.service.grantRead(applicantPath, motivation, resourcePath) if "DP_VALID_SIGNATURE" == response.status.code: result = True except Exception as e: response = e wsTime = time.time() - ts self.wsTime = int(wsTime * 1000) return result, self.wsTime, response def getpeercert(self): cert = self.transport.getpeercert() return ", ".join(str(val[0][1]) for val in cert['subject']) def getExcetionTime(self): return self.wsTime
class D3SStorageCaller(): wsdl = path2url("caller/wsdl/d3s/v2/v2_1_Storage.wsdl") wsTime = -1 def __init__(self, keyStore, trustStore, wsUri, verbose=False): self.transport = HTTPSClientCertTransport(keyStore, keyStore, trustStore) self.secretPort = Client(self.wsdl, location=wsUri + "secret", transport=self.transport, plugins=[MyPlugin()]) # self.secretPort.add_prefix('nsdcom', 'http://www.dictao.com/d3s/xsd/v2010_10/Common') if verbose: logging.basicConfig(level=logging.INFO) logging.getLogger('suds.client').setLevel(logging.INFO) logging.getLogger('suds.transport').setLevel(logging.DEBUG) def buildMetadatasParameter(self): return self.secretPort.factory.create('ns1:Metadatas') def buildSecurityTokenParameter(self): return self.secretPort.factory.create('ns1:securityToken') def buildStrMetadataParameter(self, name, value): metadata = self.secretPort.factory.create('ns1:Metadata') metadata.value.StringValue = value metadata._name = name metadata._type = "STRING_TYPE" return metadata def read(self, securityToken, depositProof): response = None result = False ts = time.time() try: response = self.secretPort.service.read(securityToken, depositProof) if "HASH_COMPARAISON_OK" == response.status.code: result = True response = base64.standard_b64decode(response.data) except Exception as e: response = e wsTime = time.time() - ts self.wsTime = int(wsTime * 1000) return result, self.wsTime, response def delete(self, applicantPath, motivation, depositPath, securityToken): response = None result = False ts = time.time() try: self.secretPort.service.delete(applicantPath, motivation, depositPath, securityToken) result = True except Exception as e: response = e wsTime = time.time() - ts self.wsTime = int(wsTime * 1000) return result, self.wsTime, response def write(self, applicantPath, motivation, containerPath, securityToken, certificates, metadatas, data): response = None result = False ts = time.time() try: response = self.secretPort.service.write(applicantPath, motivation, containerPath, securityToken, certificates, metadatas, data) if response is not None: result = True except Exception as e: response = e wsTime = time.time() - ts self.wsTime = int(wsTime * 1000) return result, self.wsTime, response def getpeercert(self): cert = self.transport.getpeercert() return ", ".join(str(val[0][1]) for val in cert['subject']) def getExcetionTime(self): return self.wsTime