老麦的Amowa终于有了一个实现:Buffalo[http://www.amowa.net/buffalo],而且客户端封装的确实不错,整体走了一遍他的JS和JAVA代码,越觉得有意思,尤其核心的Buffalo[http://www.caucho.com/resin-3.0/protocols/burlap.xtp]协议,感觉确实比Xmlrpc来的简洁,上网找了找,还没有Python的实现,OK,那就自己写一个PyBurlap吧,我相信肯定比JAVA来的简洁方便,在配上老麦封装的JS端,肯定会让使用上更加方便:)
OK,开始第一步,搭建环境
打开尘封以久的Eclipse,建立Burlap的服务器端环境,首先写一个简单的接口IHello
然后是他的实现
把HelloService当作一个普通的Servlet配置一下,然后把Tomcat跑起来
客户端调用
以上的代码基本也就是按照Burlap的文档删删改改。
调用后效果如下:
此主题相关图片
OK,现在我们尝试在Python中调用这个HelloService,也不用开什么特定的编辑器,只要打开Python的脚本环境即可,然后输入如下命令。
此主题相关图片
我们看到在http.getfile.read()之后得到了正确的反馈:
'<burlap:reply><string>Hello World!</string></burlap:reply>'
OK,Burlap整个环境流程搭建测试完毕,接下来就是封装我们的PyBurlap了:)
P.S:有关Burlap协议的Specification
http://www.caucho.com/resin-3.0/protocols/burlap-1.0-spec.xtp
OK,开始第一步,搭建环境
打开尘封以久的Eclipse,建立Burlap的服务器端环境,首先写一个简单的接口IHello
public interface IHello { public abstract String hello(); } |
然后是他的实现
public class HelloService extends BurlapServlet implements IHello { public String hello() { System.out.println("Hello"); return "Hello World!"; } } |
把HelloService当作一个普通的Servlet配置一下,然后把Tomcat跑起来
客户端调用
public class Client { public static void main(String[] args) { String url = "http://localhost:8080/buffalo/Hello";; BurlapProxyFactory factory = new BurlapProxyFactory(); IHello basic = null; try { basic = (IHello) factory.create(IHello.class, url); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("now(): " + basic.hello()); } } |
以上的代码基本也就是按照Burlap的文档删删改改。
调用后效果如下:
此主题相关图片
OK,现在我们尝试在Python中调用这个HelloService,也不用开什么特定的编辑器,只要打开Python的脚本环境即可,然后输入如下命令。
此主题相关图片
我们看到在http.getfile.read()之后得到了正确的反馈:
'<burlap:reply><string>Hello World!</string></burlap:reply>'
OK,Burlap整个环境流程搭建测试完毕,接下来就是封装我们的PyBurlap了:)
P.S:有关Burlap协议的Specification
http://www.caucho.com/resin-3.0/protocols/burlap-1.0-spec.xtp