def AddWsdlAgToProject(wsdlPath, rootPath=fileutils.AG_SYSTEM_STATIC_VAR_REF, serviceRefName=None, className=None, serviceType=None, dataSourceName=None): """ wsdlPath: path to wsdl from rootPath. If wsdlPath is absolute, rootPath is ignored. rootPath is also ignored when rootPath is set to None. rootPath: defaults to ${AG_SYSTEM_STATIC}. serviceRefName: If None, it will be set to the wsdl file name without the .wsdl file extension. className: if not None, will be used for the the wsdlag's ClassName. serviceType: defaults to local. dataSourceName: if serviceType is deployment.DATABASE, the ds must be provided. """ import WsdlAgEditor import XFormWizard import activegrid.model.basedocmgr as basedocmgr import activegrid.server.deployment as deployment if (serviceType == None): serviceType = deployment.SERVICE_LOCAL agwsDoc = _InitWsdlAg(wsdlPath, rootPath, serviceRefName) if (agwsDoc == None): return serviceRef = agwsDoc.GetModel() serviceRef.serviceType = serviceType if (serviceType == deployment.SERVICE_DATABASE and dataSourceName != None): serviceRef.databaseService = deployment.DatabaseService(dataSourceName) else: serviceRef.localService = deployment.LocalService(className=className) _AddToProject(agwsDoc)
def AddWsdlAgToProjectFromWsdlRegistration(wsdlRegistration): """Add wsdl ag for registry entry.""" wsdlPath = wsdlRegistration.path rootPath = None serviceRefName = wsdlRegistration.name agwsDoc = _InitWsdlAg(wsdlPath, rootPath, serviceRefName) if (agwsDoc == None): return serviceRef = agwsDoc.GetModel() serviceRef.serviceType = wsdlRegistration.type import activegrid.server.deployment as deployment if (serviceRef.serviceType == deployment.SERVICE_LOCAL): serviceRef.localService = deployment.LocalService( wsdlRegistration.codeFile) elif (serviceRef.serviceType == deployment.SERVICE_DATABASE): serviceRef.databaseService = deployment.DatabaseService( wsdlRegistration.datasourceName) elif (serviceRef.serviceType == deployment.SERVICE_SOAP): pass elif (serviceRef.serviceType == deployment.SERVICE_RSS): serviceRef.rssService = deployment.RssService(wsdlRegistration.feedUrl) elif (serviceRef.serviceType == deployment.SERVICE_REST): serviceRef.restService = deployment.RestService( wsdlRegistration.baseUrl) else: raise AssertionError("Unknown service type") _AddToProject(agwsDoc, addWsdl=True)