快速业务通道

扩展Axis2框架,支持基于JVM的脚本语言 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
为数据绑定。然后借助数据绑定和方法注解,就能为Jython服务生成XML Schema了。接下来,生成的XML Schema和有关AxisService的元数据都会交给Axis2引擎。Axis2引擎将创建出对应的WSDL,Jython服务也会被暴露为Web 服务。

上图展示了该解决方案的架构。传输监听器(Transport Listener)接收传入的SOAP消息,并将消息传给处理器链。接着,SOAP消息交由Jython消息接收者处理,消息接收者会遍历Axis对象模型(AXIOM)的结构、检索相关的信息。检索到的信息再传递给Jython服务。然后Jython服务开始执行,生成的结果再返回给Jython消息接收者。Jython消息接收者会为返回的Jython对象创建一个AXIOM结构。接下来,响应经由处理器链发送给传输发送者。传输发送者再将响应发送给客户端。对每个交换的SOAP消息来说,前面所述的过程都会执行一遍。

如何部署Jython服务

部署时,Axis2引擎会读取Jython脚本的注解,并完成动态Jython类型到静态Java类型的映射。这一过程称为数据绑定。相应的匹配类型映射完成之后,会创建服务的XML Schema。下面的步骤描述了如何生成Jython服务的XML Schema:

读取Jython服务的注解。

为Jython服务创建AxisService。

给每个Jython方法创建一个AxisOperation。

给操作增加AxisMessage。AxisMessage包含方法参数的类型。

将所有AxisOperation添加到AxisService中。

最终为Jython消息生成XML Schema。

生成的AxisService会交给Axis2引擎。最后由Axis2引擎生成WSDL。

结论

Apache Axis2可以以这种方式进行扩展,来支持基于JVM的脚本语言。扩展之后,用户就可以暴露服务、用JVM脚本语言扩展编写服务客户端了。

关于作者

Heshan Suriyaarachchi是WSO2公司的一名软件工程师,是WSO2企业服务总线(ESB)团队的成员。Heshan具备Web服务、SOA、中间件和分布式系统的相关经验。他喜欢打篮球,业余时间还参与开源项目。

他的博客是:http://heshans.blogspot.com/

查看英文原文:http://www.infoq.com/articles/axis2_scripting

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号