首先,web service是一种进程之间进程远程通信的一种规范。比如在server端定义了一堆方法,client端需要调用这些方法,那么client端如何知道server端有这些方法呢?web service就提供这些方法。web service有soap和restful,如果你是用的soap,那么,client端通过访问http://IP/?wsdl 就能够把server端所有的方法和参数取出来。然后client就可以操作server端的方法了。
这些方法的通信底层实现,是通过http协议实现的。
但是我目前还没弄懂wsgi,
class SoapWebService(BaseWebService):
@soapmethod(String,String,String,String,String,_returns=String)
def common_soap_method(self, test_dir, log_save_dir, mod_para_list, keep_qtp_open, timeout):
run_qtp(test_dir, log_save_dir, mod_para_list, keep_qtp_open, timeout)
if __name__=='__main__':
try:
serverip=sys.argv[1]
from wsgiref.simple_server import make_server
server1 = make_server(serverip, 7029, SoapWebService())
print "listening on %s:7029"%(serverip)
server1.serve_forever()
except ImportError:
print "Error: example server code requires Python >= 2.5"
很明显,上面用的是wsgi,而不是http。。。