blob: fb2b7fa737086c8c099382a5e645b48fdc9583d3 [file] [log] [blame]
import httplib
import json
from dubbo_client.registry import service_provides, add_provider_listener
__author__ = 'caozupeng'
def raw_client(service_interface, app_params):
headers = {"Content-type": "application/json-rpc",
"Accept": "text/json"}
provides = service_provides.get(service_interface, ())
if len(provides) > 0:
location, first = provides.items().pop()
h1 = httplib.HTTPConnection(first.ip, port=int(first.port))
h1.request("POST", first.path, json.dumps(app_params), headers)
response = h1.getresponse()
return response.read(), None
else:
return None, 'can not find the provide of {0}'.format(service_interface)
if __name__ == '__main__':
app_params = {
"jsonrpc": "2.0",
"method": "getUser",
"params": ["A001"],
"id": 1
}
service_interface = 'com.ofpay.demo.api.UserProvider'
add_provider_listener(service_interface)
ret, error = raw_client(service_interface, app_params)
if not error:
print json.loads(ret, encoding='utf-8')