最近弄ecshop网上商城这个系统,需要提供对银联快捷支付支持,我查了下资料,发现php调用java,可以通过PHP/Java Bridge来实现这个功能。于是采用PHP/Java Bridge来调用java实现银联支付Demo.
http://hikin.iteye.com/blog/484192
一般来说,PHP和java通讯通讯,使用JavaBridge就可以了,坑爹的是银联那边提供的demo打包成jar包不能正常运行(打包完后运行需要3-5分钟,有的甚至直接不能运行),具体打包方法如下: java打包jar包具体可以参考链接(有引入第三方jar包的推荐使用FatJar打包):
http://www.cnblogs.com/lanxuezaipiao/p/3291641.html
除了以上链接,还有一种ant打包:
http://www.cnblogs.com/yuzhongwusan/archive/2013/03/26/2982411.html 其中eclipse当导出jar包方式为runnable jar时,可以导出相应的build.xml文件,相应为这3中jar包导出方式的ant代码 (需要注意的是runnable jar的第二种导出方式所导出build.xml文件文件的同时还会生成jar-in-jar-loader.zip,需要放到java项目(Demo)的根目录)
既然我把Demo打包成jar包运行失败了,那只好换另外一种方式了,于是我又上网找了下,发现有人使用thiift通讯,不过我感觉这种方式也挺悬,
链接如下:http://www.chinab4c.com/html/shangchengchengxu/ecshopjiagou/2014/0524/1287.html 有兴趣的朋友可以试下,反正我是没试过哈.
最后我索性弄个WebService,把Demo当成客户端,再把服务端打包成jar包供JavaBridge调用(直接用php连接到WebService也可以,不过我觉得再用个JavaBridge可能更方便一些,虽然多了一层跳转,不过因为php和java的交互并不是很频繁,所以就将就吧).途中也遇到了一些小问题,不过都在万能的互联网的帮助下一一解决了(主要就是银联这个Demo做出WebService还需要另外导入相关支持的jar包)
Webservice知识点可参考以下网站: http://blog.csdn.net/hanxuemin12345/article/details/40163757
JavaBridge可参考以下网站: http://i006.blog.163.com/blog/static/205965147201302210523864/
最终方案的确定:WebService+JavaBridge
作者:finallylly
本文链接:http://blog.csdn.net/finallylly/article/details/45024703