<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
问题:使用axis2调用远程webservice时,产生大量临时文件写入磁盘,降低程序运行效率,占用磁盘空间
前提:使用axis2客户端版本:1.7.4
解决方案:
1:在初始化RPCServiceClient 使用构造器RPCServiceClient(ConfigurationContext configContext, AxisService service) 替换默认构造器
在wsdl生产的java文件中使用ConfigurationContext 的静态化
private static final ConfigurationContext configurationContextStatic = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null)
综合事例:
@Override public String abc(String reqXml) throws Exception { String value=""; RPCServiceClient serviceClient=init(); Object[] toParams = new Object[] {reqXml}; Class<?>[] clazzs = new Class[] {String.class}; Object[] resultList = null; QName addEntry = new QName("http://service.xx.xxx.com.cn","abc"); resultList = serviceClient.invokeBlocking(addEntry, toParams, clazzs); if(null!=resultList){ value= resultList[0].toString(); } serviceClient.cleanupTransport(); return value; } public RPCServiceClient init() throws AxisFault{ RPCServiceClient serviceClient = new RPCServiceClient(configurationContextStatic,null); Options options = serviceClient.getOptions(); options.setTimeOutInMilliSeconds(1000*60*3); EndpointReference ference = new EndpointReference("http://localhost:8090/api/services/exampleService?wsdl"); options.setTo(ference); return serviceClient; } private static final ConfigurationContext configurationContextStatic = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null) ;
2.
https://issues.apache.org/jira/browse/AXIS2-3919
//修改默认ConfigurationContext private static org.apache.axis2.context.ConfigurationContext configurationContextStatic; static { try { configurationContextStatic = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null); } catch (AxisFault e) { e.printStackTrace(); } } //在构造器实例化时引入configurationContextStatic /** * Constructor taking the target endpoint */ public SmsStub(java.lang.String targetEndpoint) throws org.apache.axis2.AxisFault { this(configurationContextStatic,targetEndpoint); }
相关推荐
在Java世界中,Apache Axis是用于构建Web服务和客户端应用程序的工具包,它允许开发者将Java类暴露为Web...在实际项目中,应根据具体需求选择适合的版本,同时,保持对新技术的跟踪,以便及时升级到更先进的解决方案。
它提供了一个灵活、可扩展、性能高效的 Web 服务解决方案。Eclipse 是一个流行的集成开发环境(IDE),Axis2 插件安装可以使得开发者更方便地使用 Axis2 开发 Web 服务。在本文中,我们将详细介绍如何安装和使用 ...
Eclipse Java Axis2 是一个基于Java的Web服务开发框架,由Apache软件基金会开发。...总之,Eclipse Java Axis2结合了Eclipse的强大IDE功能和Axis2的优秀Web服务框架,为Java开发者提供了高效、灵活的Web服务解决方案。
- **问题解决方案**:针对常见问题提供解答,有助于解决开发过程中的难题。 通过深入学习和实践这些教程,你将能掌握使用Axis2开发和管理Web服务的技能,进一步提升你的Java Web开发能力。在实际项目中,你可以利用...
它是Apache Axis项目的一部分,专注于提供高效、灵活且可扩展的Web服务解决方案。在本文中,我们将深入探讨AXIS2的核心特性、如何使用它来开发Web服务,以及相关的工具支持。 1. **AXIS2简介** AXIS2是基于SOAP...
它是Apache软件基金会的一个项目,致力于提供高效且灵活的Web服务解决方案。AXIS2构建在SOAP(简单对象访问协议)之上,这是一种基于XML的消息传递协议,允许不同系统间的互操作性,不受平台或语言限制。 在开发Web...
总的来说,"axis2-eclipse-codegen-plugin-1.6.2+axis2-eclipse-service-plugin-1.6.2"的组合为Eclipse用户提供了一套完整的Web服务开发解决方案,从生成代码到部署服务,全程都在熟悉的开发环境中完成,极大地提升...
总的来说,Axis2 1.6.0的Eclipse插件为开发者提供了完整的Web服务开发解决方案,包括代码生成和服务创建、部署,极大地提高了开发效率。在版本1.6.0中,可能会包含一些性能优化、错误修复和新特性,以适应不断发展的...
Web服务(Web Service)是一种基于网络的、分布式的模块化组件,它提供了标准的方法来让不同的应用程序之间交换数据。...通过学习和掌握Axis2,开发者能够更好地构建和管理分布式、跨平台的Web服务解决方案。
其中,Axis2 Codegen Wizard是一个关键组件,它允许开发者自动生成客户端和服务端代码,大大简化了Web服务的开发流程。然而,在其1.4.0版本中,存在一些问题,影响了用户的使用体验。本文将详细解析这些问题以及修复...
总结起来,"Axis的Eclipse插件"是一个强大的工具,它为Java开发者提供了一站式的Web服务开发解决方案,从代码生成到部署,再到测试和调试,都可在Eclipse这个熟悉的环境中完成,极大地提升了开发效率和代码质量。
Eclipse的AXIS插件则为开发者提供了一种在集成开发环境中方便地构建、调试和部署Web Services的解决方案。本文将深入探讨AXIS插件在Eclipse中的应用及其相关知识点。 一、AXIS插件简介 AXIS插件是Eclipse IDE的一个...
使用Axis的wsdl2java工具,你可以从一个WSDL文件生成Java客户端 stubs,这些stubs提供了与服务交互的简单方法。 2. 调用服务:生成客户端代码后,你可以在Java应用程序中实例化服务代理,通过调用代理的方法来发送...
Axis是Apache软件基金会开发的一个开源Java库,专门用于构建和部署Web服务。它是一个强大的工具,可以帮助开发者快速、...通过理解和熟练使用提供的"axis开发包",你可以更高效地构建健壮的、跨平台的Web服务解决方案。
- 生态系统:与Apache其他项目(如CXF、WSS4J等)兼容,构建复杂的Web服务解决方案。 总结,Axis作为Web服务开发的重要工具,为Java开发者提供了便捷的途径来创建和消费SOAP服务。通过理解其基本概念、安装过程以及...
- **跨平台交互**: 当不同平台间的应用需要通过 Web 服务进行数据交换时,Axis 提供了标准化的解决方案。 - **企业级应用集成**: 在企业级应用中,Axis 可以帮助整合多个系统,实现 SOA(面向服务的架构)。 8. *...
通过学习和实践这个 demo,开发者可以更好地掌握 SpringBoot 和 SOAP 服务的集成,为现有的基于 Axis 的服务提供现代化的运行环境,或者为需要兼容旧系统的新项目提供解决方案。 总之,"Springboot,axis1.4的demo...
它们提供了一站式的解决方案,涵盖了从代码生成到服务部署的所有步骤,使开发工作更加高效和顺畅。通过使用这些插件,开发者可以专注于业务逻辑的实现,而无需过多关注底层的SOAP或HTTP通信细节。在Web服务开发领域...
在处理此类问题时,可能需要创建共享库或寻找替代解决方案。配置CXF服务通常包括以下步骤: - **添加依赖JAR包**:确保包含所有必要的CXF和Spring库,这些库可能会因运行环境(如Tomcat或WebSphere)而异。 - **...
解决方案包括检查JDK版本是否符合要求,确保所有必要的库都已导入,以及正确配置Axis2的相关设置。在提供的RAR文件中,"eclipse Axis2 Codegen plugin报错问题 - - JavaEye技术网站.htm"可能是包含详细解决步骤的...