扩展Axis2框架,支持基于JVM的脚本语言 - 编程入门网
,并把它交给应用。
下面的代码片段展示了调用Web服务的Jython客户端。
扩展Axis2框架,以支持契约优先 Axis2代码生成器 提到代码生成,Axis2含有一个代码生成模块——Axis2代码生成器(Axis2 Code Generator)。代码生成器能合并多个数据绑定框架,而且易于扩展。因此代码生成工具可以进行扩展,以支持脚本语言。在深入扩展工具的细节之前,让我们先看看Axis2的代码生成器。 考量SOAP处理引擎时,一个关键的附加价值就是基于WSDL的代码生成。代码生成要能: 为用户提供方便——代码生成工具要帮助用户以简单、有效的方式使用框架。 充分利用框架。 现在来看看Axis2代码生成器的架构。 工具的架构非常简单。核心部分会处理WSDL文件、生成对象模型。然后根据模板解析生成的对象模型、生成源代码。 扩展Axis2的代码生成器,从而支持脚本语言 代码生成引擎逐个调用扩展,最终会调用组件Emitter。Emitter是代码生成流程中处理重要工作的真正组件。Emitter通常与语言相关,因此语言和Emitter是一一关联的。所以我们要有一个支持Jython代码生成的Emitter。上图说明了这一简单但功能强大的架构。 Emitter处理WSDL、生成对象模型。对象模型只不过是个XML文件,里面包含针对WSDL、关于Axis2信息模型(即Axis服务、Axis操作、Axis消息等)的对象模型。模板是XSLT文件,含有如何生成代码的信息。最后,生成的对象模型会根据模板进行解析、生成Jython源代码。 要支持契约优先的方法,需要为服务生成一个框架、一个消息接收者。已经写好的通用消息接收者运转不了,它只能在有限的Schema结构上运行。我们可以利用Axis2现有的基础设施来做到这一点。Axis2创建了一个表示WSDL的中间XML结构,我们必须根据该XML结构运行两个XSLT文件,来生成框架类和消息接收者。有了这些XSLT文件和代码生成工具,我们就能用Jython支持契约优先的Web服务了。最后,就可以使用消息接收者和框架来编写Jython实现的服务客户端了。 扩展Axis2框架,支持基于JVM的脚本语言(3)时间:2010-10-26 infoq 译:王丽娟服务器端 本节将讨论如何将业务逻辑暴露为Web服务。 要在Axis2中暴露Jython实现的Web服务,可以从Axis2可插拔部署器的概念中找找解决方案。为了暴露用Jython编写的服务,我们要编写一个自定义的部署器、一个Jython消息接收者。 消息接收者消费SOAP消息,并把SOAP消息传给应用。消息接收者是输入管道中最后一个处理器。 部署器需要将Jython的数据类型映射到XML Schema数据类型。这个过程称 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |