`
wbw3wbw
  • 浏览: 45743 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自己写axis2调用webservice的代码

    博客分类:
  • JAVA
阅读更多

首先当然要下载axis2的JAR包,导入工程,这里我们可以从网上下载eclipse插件来自动生成客户端代码,但有些情况下,比如需要调用大量的接口,如果采用这种方式的话管理起来将会很麻烦,这里介绍一下怎么来自己写客户端调用接口。

 

import org.apache.axiom.om.OMAbstractFactory; 
import org.apache.axiom.om.OMElement; 
import org.apache.axiom.om.OMFactory; 
import org.apache.axiom.om.OMNamespace; 
import org.apache.axis2.AxisFault; 
import org.apache.axis2.addressing.EndpointReference; 
import org.apache.axis2.client.ServiceClient; 

public class CallWebservice 
{ 
    private void invokeWebService(){ 
        try{ 
            //定义接口地址,这里最好把结尾的?wsdl去掉 
            String soapBindingAddress = "http://localhost:9139/axis2/services/test"; 
            EndpointReference endpointReference = new EndpointReference(soapBindingAddress); 
            //创建一个OMFactory,下面的namespace、方法与参数均需由它创建 
            OMFactory factory = OMAbstractFactory.getOMFactory(); 
            //创建命名空间,如果你调用的的WebService指定了targetNamespace这个属性的话,这儿要写上 
            OMNamespace namespace = factory.createOMNamespace("http://www.wbw.com", ""); 
            //创建参数,可以为多个,这里的命名要与wsdl文件里的命名一致 
            OMElement  nameElement = factory.createOMElement("ReqMsg", namespace); 
            //把变量绑定到参数,也可以用nameElement.setText("test"); 
            nameElement.addChild(factory.createOMText(nameElement, "test")); 
            //创建方法,对应接口方法名,其中"test"为方法名 
            OMElement method = factory.createOMElement("test", namespace); 
            //把参数绑定到方法 
            method.addChild(nameElement); 
            //创建客户端实例 
            ServiceClient sender = new ServiceClient(); 
            //绑定EndpointReference 
            sender.getOptions().setTo(endpointReference); 
            //这里设定为不检查可以避免EOF错误提示 
            sender.getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED, 
            Boolean.FALSE); 
            method.build(); 
            //看看发送的是什么 
            System.out.println(method.toString()); 
            //发送并得到结果,至此,调用成功,并得到了结果 
            OMElement result = sender.sendReceive(method); 
            //把结果转化为字符串查看结果 
            System.out.println(result.toString()); 
        } 
        catch (AxisFault ex){ 
            ex.printStackTrace(); 
        } 
    } 

    public static void main(String[] args){ 
        CallWebservice cw = new Test2(); 
        cw.invokeWebService(); 
    } 
} 

 

如在调用中出现问题,欢迎留言讨论

 

分享到:
评论

相关推荐

    axis2发布webservice和调用axis2服务接口

    本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解发布Web服务的过程: 1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web...

    Java Axis 直接调用webservice 接口工具类

    Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;

    axis2客户端调用webService接口,精简jar包

    本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注如何精简所需的jar包。 首先,了解Axis2客户端的基本概念是至关重要的。Axis2客户端是用于与远程Web服务交互的工具,它允许开发者通过SOAP...

    AXIS2作为客户端调用webService的demo

    用AXIS2作为客户端调用webService的demo:本人亲测可用,eclipse工程java项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。

    axis2调用webservice接口jar包

    本文将详细介绍如何使用Axis2调用WebService接口,并基于提供的jar包"axis2-1.7.6"进行说明。 **一、Axis2简介** Axis2是Apache软件基金会开发的一个Web服务引擎,它基于SOAP(Simple Object Access Protocol)和WS...

    axis客户端调用webservice

    java axis客户端调用webservice,可应用于ofbiz框架。 解决网络上共享代码两次调用后会出现timeout的BUG

    AXIS2远程调用WebService示例(Eclipse+AXIS2)工具和所用包.rar

    AXIS2远程调用WebService是Java开发者在进行分布式服务交互时常用的一种技术。本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这...

    axis2调用WebService详细说明

    通过本文档的学习,我们可以了解到Axis2的基本使用方法,包括下载、安装配置以及如何通过客户端代码示例调用WebService服务。这些知识对于开发人员来说是非常有用的,尤其是在实际项目中需要与外部系统交互时,掌握...

    Java+Axis2调用Web Services 网络接口

    总的来说,Java和Axis2的结合提供了一种强大而灵活的方式来调用Web服务,允许开发者轻松地集成远程功能到自己的应用程序中。通过理解这些概念和实践,你可以更好地利用Web服务接口,提升应用的扩展性和互操作性。

    使用axis轻松调用Webservice

    标题“使用axis轻松调用Webservice”涉及到的是在IT领域中如何通过Apache Axis工具来便捷地与Web服务进行交互。Apache Axis是一个开放源代码的Java框架,它允许开发者创建、部署和使用Web服务。这个标题暗示了我们将...

    Spring集成axis2实现webservice所用到的包

    总结来说,Spring集成Axis2实现Web服务涉及到Spring的IoC容器、服务的创建和发布、以及客户端的调用等多个环节。了解并掌握这些知识点,对于开发高质量的Web服务应用至关重要。在实际项目中,务必确保所有必要的库...

    axis2例子 webservice axis2 示例

    axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例

    Axis2调用Webservice最全的Jar包

    里面包含axis2-adb-codegen-1.5.4.jar、axis2-java2wsdl-1.5.4.jar、axis2-transport-local-1.5.4.jar、mail-1.4.jar、woden-impl-dom-1.0M8.jar、XmlSchema-1.4.3.jar等十几个jar包

    Android axis调用Webservice

    总结,Android利用Axis2调用Web Service涉及服务端接口设计、客户端代码实现、网络请求和数据解析等多个环节。了解这些知识点有助于构建稳定可靠的跨平台通信。在实际开发中,还需要考虑错误处理、性能优化以及安全...

    axis2调用Webservice

    Axis2 调用webservice Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。 Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术

    Axis2调用SAP Webservice源码

    Axis2调用SAP Webservice源码 使用Axis2 org.apache.axis2.eclipse.codegen.plugin_1.6.2.jar插件生成本地Java Proxy同事生成同步和异步调用测试用例 更重要的是配备详细文档,实乃Java与SAP集成是宝典!

    axis调用webservice接口所需jar包.rar

    axis调用第三方webservice接口所需的jar包,包括axis-1.4.jar,axis-jaxrpc-1.3.jar,axis-jaxrpc-1.4.jar,commons-discovery-0.5.jar,commons-logging-1.2.jar,cxf-rt-databinding-jaxb-3.3.1.jar,javax.mail-...

    java 通过axis调用天气预报的webservice

    标题中的“Java通过Axis调用天气预报的WebService”是指使用Java编程语言,通过Apache Axis库来访问和使用公开的天气预报Web服务。Apache Axis是一个开放源码的SOAP(简单对象访问协议)工具包,它允许开发者创建和...

    axis调用webservice实例,包含jar包

    标题中的“axis调用webservice实例”涉及到的是在Java开发中使用Apache Axis库来调用Web服务的过程。Apache Axis是一个开放源代码的SOAP栈,它允许开发者创建和部署Web服务,同时也提供了客户端工具来调用这些服务。...

Global site tag (gtag.js) - Google Analytics