`
Saito
  • 浏览: 42790 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

phprpc可真是神器啊..

阅读更多
  前一段时间一直在帮晶哥做研究生毕业设计. 他研究的是SOA .囧rz..又跟知网的语义网有点关系. 错综复杂. 反正能把毕业设计评审的老师给砸晕就是了.语义网那部分已经做出来了.现在就是在把这部分当作web服务发布出去.我具体没搞清楚这根SOA有啥关系. 这不就是web service嘛.抑或是web service就是SOA . 唉..  忽悠啊..

  刚开始对这一领域完全不了解.惯例在Javaeye上搜资料. AXIS.. XFire. CFX .最后先用AXIS来做. 搞了半天没搞出来. 失望了发现有第二版. 遂立刻换装AXIS2 . 并下载了相应插件. 心想还挺好搞得. 有插件就是不一样.apache的Axis2官网上教程一步一步来. 十八摸的开发者社区也搜到不少好文.步骤是挺简单的. 因为失败过多次.现在都记下里了. 首先发布服务接口. 生成aar服务文件. 放在axis2包中的services包里面. 然后打开tomcat . 看你相应的 wsdl生成了没有. 生成了就是发布成功了. 成功了之后再用 axis2的code generator生成客户端代码.当然第一步发布接口也是用的插件. 有客户端代码了. 自己再写自己的调用. 就这么简单一个事.其实搞来搞去还挺复杂的. 最关键的是. 我的程序还是没有跑通..据现在回过头来分析. 应该是人品问题.  嗯. 我确定.. 这种没跑通的状态大概持续了一天. 郁闷了. 就先放下了.就在昨天.金哥回来忙答辩. 问我这个事. 我才突然想起来还没弄完. 他24号答辩. 马上要了. 我给金哥说肯定在之前弄完..让他放心..

  其实心里没底.但是想到前段时间学长给我说的phprpc.我说换这个用用算了. 惯例在Javaeye搜资料. 看到作者的网站. phprpc.org. 但是无法访问. 不知何故. 就联系学长让他给我一份. 拿到doc 跟 包. 先打开包. 找到Java那个子包.(这里提醒一下. 一定要点make.bat. 会生成3个 jar包.不要再里面找那里面的包. 把那三个jar包加进你的项目就好.).翻看了doc文档. 发现发布一个服务是如此的简单. 我灰常顺利的就发布了服务. 并且测试成功.  回过头来看自己的代码.  我用了3行来发布服务. 5行来在客户端调用. (要是只有一个参数. 应该是4行.)..

  看下源代码.   发布服务可以直接发布在一个jsp页面里面. 我使用scriptlet写的.

 
PHPRPC_Server phprpc_server = new PHPRPC_Server(); 
phprpc_server.add("simWord",WordSimilarity.class); 
phprpc_server.start(request, response); 


  这样我的服务就发布好了. WordSimilarity是要发布的class .  simWord是方法. 太简单了.

  客户端去调用就更无敌了. 我完全不用去生成什么 stub之类的东西. 一个POJO就完成了.

 
PHPRPC_Client phpClient = new PHPRPC_Client("http://localhost:8080/PhprpcWordSim/index.jsp");
Object[] objects = new Object[2];
objects[0] ="人";
objects[1] ="兽";
phpClient.invoke("simWord", objects, true);

  应该是个人都能看懂吧.  要是只有一个参数. 那就更简单了.

  写完之后就成功了. 我没有做任何挣扎. 没有任何预兆. 就解决了我的大问题. 连下带研究.带编码2个小时.  如果让我重新来过的话. 10分钟就可以了. 真是神器..

  真心感谢开发phprpc的大神 . 

  如果有什么不足的话. 我也想提一下. Axis2的服务发布之后.可以很清晰看到发布情况. phprpc似乎现在缺少这么一个东西. 服务只会在页面顶部显示出来.
1
0
分享到:
评论
3 楼 Saito 2009-05-27  
yuan 写道

大神在这:http://andot.iteye.com/


    感谢JavaEyer观光团前来参观. .
2 楼 Hooopo 2009-05-27  
大神。。。
1 楼 yuan 2009-05-27  
大神在这:http://andot.iteye.com/

相关推荐

Global site tag (gtag.js) - Google Analytics