首先当然要下载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来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解发布Web服务的过程: 1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web...
Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;
本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注如何精简所需的jar包。 首先,了解Axis2客户端的基本概念是至关重要的。Axis2客户端是用于与远程Web服务交互的工具,它允许开发者通过SOAP...
用AXIS2作为客户端调用webService的demo:本人亲测可用,eclipse工程java项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。
本文将详细介绍如何使用Axis2调用WebService接口,并基于提供的jar包"axis2-1.7.6"进行说明。 **一、Axis2简介** Axis2是Apache软件基金会开发的一个Web服务引擎,它基于SOAP(Simple Object Access Protocol)和WS...
java axis客户端调用webservice,可应用于ofbiz框架。 解决网络上共享代码两次调用后会出现timeout的BUG
AXIS2远程调用WebService是Java开发者在进行分布式服务交互时常用的一种技术。本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这...
通过本文档的学习,我们可以了解到Axis2的基本使用方法,包括下载、安装配置以及如何通过客户端代码示例调用WebService服务。这些知识对于开发人员来说是非常有用的,尤其是在实际项目中需要与外部系统交互时,掌握...
总的来说,Java和Axis2的结合提供了一种强大而灵活的方式来调用Web服务,允许开发者轻松地集成远程功能到自己的应用程序中。通过理解这些概念和实践,你可以更好地利用Web服务接口,提升应用的扩展性和互操作性。
标题“使用axis轻松调用Webservice”涉及到的是在IT领域中如何通过Apache Axis工具来便捷地与Web服务进行交互。Apache Axis是一个开放源代码的Java框架,它允许开发者创建、部署和使用Web服务。这个标题暗示了我们将...
总结来说,Spring集成Axis2实现Web服务涉及到Spring的IoC容器、服务的创建和发布、以及客户端的调用等多个环节。了解并掌握这些知识点,对于开发高质量的Web服务应用至关重要。在实际项目中,务必确保所有必要的库...
axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例
里面包含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利用Axis2调用Web Service涉及服务端接口设计、客户端代码实现、网络请求和数据解析等多个环节。了解这些知识点有助于构建稳定可靠的跨平台通信。在实际开发中,还需要考虑错误处理、性能优化以及安全...
Axis2 调用webservice Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。 Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术
Axis2调用SAP Webservice源码 使用Axis2 org.apache.axis2.eclipse.codegen.plugin_1.6.2.jar插件生成本地Java Proxy同事生成同步和异步调用测试用例 更重要的是配备详细文档,实乃Java与SAP集成是宝典!
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编程语言,通过Apache Axis库来访问和使用公开的天气预报Web服务。Apache Axis是一个开放源码的SOAP(简单对象访问协议)工具包,它允许开发者创建和...
标题中的“axis调用webservice实例”涉及到的是在Java开发中使用Apache Axis库来调用Web服务的过程。Apache Axis是一个开放源代码的SOAP栈,它允许开发者创建和部署Web服务,同时也提供了客户端工具来调用这些服务。...