java调用python的webservice
来源:互联网 发布:网络司法拍卖公告 编辑:程序博客网 时间:2024/05/21 14:01
这次出差,我接触最多的是spss,由于项目基于j2ee开发,而java又不能直接取得spss统计结果,好在spss对python的支持还行,最终成功实现了这个模块。感谢前辈们做出的贡献,没有你们,我就不能这样迅速、顺利的完成项目,且别说写这篇文章了。
在前期准备中,我摸索、尝试了三种实现:jython,http,soap,在网上查了很多相关资料,都是只言片语,自己看了还要结合其他的资料才能弄个明白。当然,在这探索的过程中,我是幸运的,每天都让我充满惊喜,每天都有新的收获。
jython是java版本的python,也就是java的完全实现。java代码中,可以调用python的方法,缺点是,jython中导入第三方python module时,不是那么回事。因为spss的python api主要是一个.pyd的二进制文件,jython导包是按照java的字节码来导入的,所以当在jython中导入spss的python api时会出错,这个想法彻底破灭。
http实现是在现有的B/S交互实现上突发奇想的,python中实现一个简单的web server只要几十行代码,java使用apache的httpclient访问,现在想来确实有点大材小用,自己写一个http socket来请求和响应也写不了多少代码。最后还是实现了,支持spss中文,但是数据封包都要自己来实现,还是有嫌麻烦。
soap实现最简单,server端几十行代码搞定。由于我把spss命令都封装到一个方法中执行了,所以就没有用wsdl来生成java代码了,我使用了较底层的java的http socket,手动对SOAP-ENV打包,并向server端请求,手动解析响应数据。缺点是:SOAP对中文的支持,无论怎么转码,不是python解析SOAP-ENV报错,就是python执行spss命令报错。
如果你有更好的方法或你解决了我说的问题,请联系我,谢谢。
在前期准备中,我摸索、尝试了三种实现:jython,http,soap,在网上查了很多相关资料,都是只言片语,自己看了还要结合其他的资料才能弄个明白。当然,在这探索的过程中,我是幸运的,每天都让我充满惊喜,每天都有新的收获。
jython是java版本的python,也就是java的完全实现。java代码中,可以调用python的方法,缺点是,jython中导入第三方python module时,不是那么回事。因为spss的python api主要是一个.pyd的二进制文件,jython导包是按照java的字节码来导入的,所以当在jython中导入spss的python api时会出错,这个想法彻底破灭。
http实现是在现有的B/S交互实现上突发奇想的,python中实现一个简单的web server只要几十行代码,java使用apache的httpclient访问,现在想来确实有点大材小用,自己写一个http socket来请求和响应也写不了多少代码。最后还是实现了,支持spss中文,但是数据封包都要自己来实现,还是有嫌麻烦。
soap实现最简单,server端几十行代码搞定。由于我把spss命令都封装到一个方法中执行了,所以就没有用wsdl来生成java代码了,我使用了较底层的java的http socket,手动对SOAP-ENV打包,并向server端请求,手动解析响应数据。缺点是:SOAP对中文的支持,无论怎么转码,不是python解析SOAP-ENV报错,就是python执行spss命令报错。
如果你有更好的方法或你解决了我说的问题,请联系我,谢谢。
- java调用python的webservice
- python调用java webservice
- python调用java编写的Webservice
- python调用java编写的Webservice
- python调用java编写的Webservice
- java webservice的调用
- java调用WebService的例子
- java调用php的webService
- Java调用.net的WebService
- Java调用.net的WebService
- Java调用.NET的WebService
- java调用.net的 WebService
- java调用php的webService
- java调用php的webService
- java调用.net的webservice
- .Net调用Java的WebService
- java调用.net的webservice
- iPhone调用java的webService
- 微软与开源支持者:永远最佳的“亦敌亦友”?
- 重新编译java类,而不用重启服务器的方法(weblogic 8.1)
- [转]英文标点符号翻译大全
- jQuery工作原理解析以及源代码示例
- jquery对input="button" onClick的改变
- java调用python的webservice
- 哈哈!又得一证!
- 在html中include一个文件内容
- unresolved external symbol ATL::AtlWinModuleInit 引用自“http://blogs.msdn.com/mikewasson/archive/2005/05/14/417513.aspx”
- C++语言特性(4)---临时对象
- ASP与Access数据库连接
- NullPointerException
- infoq中文站 发布《Grails入门指南 》中文版
- audio文件中的album art信息