- 所需jar包包括:
import javax.xml.namespace.QName; import javax.xml.rpc.ServiceException; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient;
除了引入的这些jar包之外,还需要axis2 下的commons-httpclient-3.1.jar包,通过该包进行webservice通信。
- 调用axis2服务和调用wcf服务不同,所需要传入的参数包括,webservice地址,方法名,方法参数,webservice命名空间,和返回类型,其中方法参数是一个Object数组,参数类型根据Object数组决定。源码如下:
private static RPCServiceClient serviceClient; /** * RPC调用AXIS2 webservice * @param endpoint 服务地址 如:http://192.168.0.1:2597/aixs2/services/jqservice?wsdl * @param localPart 方法名 如<xs:element name="Receive"> * @param opArgs 方法参数 如Object[] opArgs = new Object[] { param }; * @param namespaceURI 命名空间 如 :targetNamespace="http://server.test.com.cn"> * @param opReturnType 返回类型 如字符串:Class[] opReturnType = new Class[] { String[].class }; */ public static String axis2RPCInvoke(String endpoint,String localPart,Object[] opArgs,String namespaceURI,Class[] opReturnType) { Object[] ret = null; try { serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference(endpoint); options.setTo(targetEPR); QName opQName = new QName(namespaceURI, localPart); ret = serviceClient.invokeBlocking(opQName, opArgs, opReturnType); System.out.println(((String[]) ret[0])[0]); } catch (AxisFault e) { e.printStackTrace(); } return ((String[]) ret[0])[0]; }
- 测试方法如下:
public static void main(String[] args) { axis2RPCInvoke("http://172.16.5.22:9090/axis2/services/MyService?wsdl", "Receive", new Object[] {"122"}, "http://lincb.com", new Class[] { String[].class }); }
- 浏览: 116028 次
- 性别:
- 来自: 合肥
相关推荐
axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...
1. **创建Stub(存根)**:使用Axis的wsdl2java工具,根据Web服务的WSDL文档生成Java存根类。 2. **配置**:设置任何必要的连接参数,如URL、端口等。 3. **实例化Stub**:创建存根类的实例,这通常是调用Web服务的...
本文将详细解析如何通过Apache Axis库在Java应用中调用WebService,具体聚焦于“JAVA调用webservice(axis方式)”这一主题。 ### Apache Axis简介 Apache Axis是一个开源的Java Web服务框架,支持SOAP协议,用于...
这一步骤通常使用`wsdl2java`命令完成。 3. **配置和初始化Stub**:配置Stub,包括设置任何必要的属性,如SOAP头或HTTP代理设置。 4. **调用服务**:通过调用Stub中的方法,你可以向Web服务发送请求并接收响应。 ...
2. 使用Axis发布服务:有了接口和实现后,使用Axis的`wsdl2java`工具生成服务端代码。这个工具会根据你的接口生成相应的ServerStub和服务部署文件。然后,将服务部署到Axis服务器上,通常是在Tomcat或Jetty等Servlet...
### Java WebService 简单实例 方式二(axis1直接调用方式) #### 背景介绍 在软件开发领域,特别是在企业级应用中,Web服务作为一种标准的技术规范被广泛采用,它允许不同系统间进行通信与数据交换。Java Web ...
java axis客户端调用webservice,可应用于ofbiz框架。 解决网络上共享代码两次调用后会出现timeout的BUG
Java客户端使用Apache Axis库来调用PHP Webservice服务。 ##### 1. 创建Service实例 ```java Service service = new Service(); ``` 创建一个新的`Service`对象。 ##### 2. 创建Call实例 ```java Call call = ...
本实例将介绍如何使用Apache Axis1库来创建和调用Web服务,这是一种常见的Java WebService实现方式。 一、WebService基本概念 1. WebService是一种基于XML(可扩展标记语言)的协议,它允许应用程序通过HTTP协议...
2. 使用wsdl2java命令(位于axis的bin目录下)从WSDL生成Java客户端 stub类。这将根据Web服务的定义自动生成对应的Java接口和实现。 3. 在Java代码中,实例化生成的stub类,并调用相应的方法。Stub类会处理与Web服务...
本文档将详细介绍如何利用Eclipse集成开发环境与Axis2框架来构建WebService服务端,并进一步探讨如何通过Java应用程序调用这些服务接口。通过本教程的学习,读者能够掌握基本的WebService服务端构建流程及其客户端...
通过上述步骤,我们成功地搭建了一个基于 Axis2 的 WebService 并实现了客户端调用。需要注意的是,在实际开发过程中可能还需要考虑更多的配置细节,例如安全性设置、日志记录等。此外,对于生产环境的应用,还需要...
在Axis2框架下,生成Web服务客户端的过程相当直观,它可以帮助开发者自动创建所需的Java代码来调用服务。 1. **生成Web服务客户端**: 使用Axis2生成Web服务客户端通常涉及以下步骤: - 获取WSDL(Web服务描述...
在Java中,Apache Axis库提供了用于创建和调用WebService的工具。 在Java中调用WebService接口,主要涉及以下几个步骤: 1. **创建Service对象**:`Service`是Apache Axis库中的一个类,用于初始化并管理与...
客户端可以通过多种方式调用AXIS2发布的Web服务: - 使用AXIS2的客户端API,如Stub类,直接编程调用。 - 通过SOAP消息直接发送请求,可以使用各种HTTP客户端库,如Apache HttpClient。 - 利用AXIS2生成的客户端...
1. **多种方式编写和发布Web服务**:Axis2支持JAX-RPC和JAX-WS规范,允许开发者选择适合他们项目的API来创建Web服务。同时,它还提供了RESTful Web服务的支持,与SOAP相比,REST更简洁,更适合轻量级的交互。 2. **...
总结,Axis2 Webservice端例子旨在帮助开发者了解如何在Axis2环境下构建和发布Web服务。通过定义服务接口、实现业务逻辑、创建WSDL描述和服务打包,以及在服务器上部署和调用,我们可以掌握Axis2的核心工作原理。...
3. **Apache Axis的工作原理**:Axis通过JAX-RPC(Java API for XML-based Remote Procedure Calls)实现Web服务。JAX-RPC将Java方法映射到SOAP消息,反之亦然。当服务端接收到请求时,Axis会将SOAP消息解析成Java...
可以使用Axis的wsdl2java工具,或者直接在Eclipse等IDE中导入WSDL,自动生成相应的Java类。 2. 初始化代理对象:使用服务的URL和端口初始化代理对象。 3. 调用服务方法:通过代理对象调用Web服务的方法,传递参数并...