if __name__ == "__main__": parser = OptionParser() parser.add_option("-p", "--port", dest='port' , default=8443, type="int", help="TCP Port to listen on") parser.add_option("-i", "--ip", dest='ipaddress' , default="0.0.0.0", help="IP Address to listen on (all IPs by default)") parser.add_option("-d", "--debug",action="store_true", dest="debug", default=False, help="turn on debugging output") (options,args) = parser.parse_args() logging.info("starting SOAP server on %s" %(options.port)) ctx = SSL.Context('sslv23') try: ctx.load_verify_locations('certs/ca.crt') ctx.load_cert(certfile='certs/pyiocserver.pem',keyfile='certs/pyiocserver.key')#pem cert file except SSL.SSLError as e: sys.stderr.write("Error loading SSL Certs: %s\n"%(e)) sys.stderr.write("Server expects a ./certs directory with pyiocserver.pem,pyiocserver.key and ca.crt files\n") sys.stderr.write("You can create simple certs using the 'simpleca.sh' script included with the pyioc distribution\n") sys.stderr.write("example: ./simpleca.sh pyiocserver\n") sys.exit(1) server = ThreadingSOAPServer((options.ipaddress, options.port),ssl_context=ctx) server.registerFunction(logEntry) server.registerFunction(iocList) server.registerFunction(getIOCFile) server.registerFunction(confList) server.registerFunction(getConfFile) server.registerFunction(iocResult) server.serve_forever()
def server_bind(self): """Override server_bind to store the server name.""" ThreadingSOAPServer.server_bind(self) self.setup_environ()
rootLogger.addHandler(consoleHandler) ## Globals global commands if __name__ == '__main__': threading.init() ssl_context = SSL.Context() ssl_context.load_cert('../certificates/server.pem') ## Loading Plugins print 'Loading plugins in ' + PluginFolder Manager = PluginManager() Manager.setPluginPlaces(PluginFolder) Manager.collectPlugins() commands = base_commands() for plugin in Manager.getAllPlugins(): Manager.activatePluginByName(plugin.name) for i in inspect.getmembers(plugin.plugin_object, predicate=inspect.ismethod): if 'activate' not in i[0]: if '__init__' not in i[0]: setattr(commands, i[0], i[1]) print "Add plugin: ", i[0] print 'Plugins loaded sucesfully\n Start listening on port 3333' server = ThreadingSOAPServer(("0.0.0.0",3333), ssl_context = ssl_context) server.registerObject(commands) server.serve_forever()
def __init__(self, endpoint, www_dir=""): ThreadingSOAPServer.__init__(self, endpoint, MixedHTTPRequestHandler) self.www_dir = www_dir self.wsgi_mods = {'/sample_wsgi': wsgi_sample_app} self.__endpoint = endpoint
help="turn on debugging output") (options, args) = parser.parse_args() logging.info("starting SOAP server on %s" % (options.port)) ctx = SSL.Context('sslv23') try: ctx.load_verify_locations('certs/ca.crt') ctx.load_cert(certfile='certs/pyiocserver.pem', keyfile='certs/pyiocserver.key') #pem cert file except SSL.SSLError as e: sys.stderr.write("Error loading SSL Certs: %s\n" % (e)) sys.stderr.write( "Server expects a ./certs directory with pyiocserver.pem,pyiocserver.key and ca.crt files\n" ) sys.stderr.write( "You can create simple certs using the 'simpleca.sh' script included with the pyioc distribution\n" ) sys.stderr.write("example: ./simpleca.sh pyiocserver\n") sys.exit(1) server = ThreadingSOAPServer((options.ipaddress, options.port), ssl_context=ctx) server.registerFunction(logEntry) server.registerFunction(iocList) server.registerFunction(getIOCFile) server.registerFunction(confList) server.registerFunction(getConfFile) server.registerFunction(iocResult) server.serve_forever()