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

axis2服务调用疑惑(参数为Object或者Map)

阅读更多
axis2发布的webservice,其中映射出去的方法的参数是不是不能为Object或者Map?
要是方法参数是Object或者Map,该怎么处理呢?请想想主意,谢谢!

例子:
服务器端代码:
public class DataSynchronization {

private BeanHandlerDAO beanHandlerDAO;

public void updateBean(Object hBean) {
		try {
			beanHandlerDAO.updateBean(hBean);
		} catch (Exception e) {
			logger.error("WS更新bean时错误!", e);
		}
	}
}

客户端代码:
public class DataSynchronizationRCPClient {
public static void synBeanUpdate(Object bean) throws AxisFault {
		RPCServiceClient serviceClient = new RPCServiceClient();
		Options op = serviceClient.getOptions();
		EndpointReference targetEPR = new EndpointReference("http://192.168.0.9:8080/axis2/services/DataSynchronization");
		op.setTo(targetEPR);
		QName opUpdateBean = new QName("http://server.webservice.datasyn.core.kmp.gei.com.cn/xsd","updateBean");
		Object[] opUpdateBeanArgs = new Object[] { bean };
		serviceClient.invokeRobust(opUpdateBean, opUpdateBeanArgs);
}
}

上面是我写的一个例子,其中updateBean是webservice发布出去的方法,参数是Object,但调用的时候会抛出这样的Exception: java.lang.InstantiationException但,要是把updateBean这个方法的参数换成具体的实体类,例如:updateBean(TestBean tb),这样发布的webservice就没有问题。

这到底是为什么?是因为axis2不支持呢?还是程序写的有问题?
分享到:
评论
1 楼 ce_xiaozhe 2012-03-08  
我也遇到类似的问题。。求解惑。。。

相关推荐

    Axis动态调用webService

    2. 高性能:Axis 使用了高性能的 SOAP messaging 机制来调用 Web 服务。 3. 可扩展性:Axis 提供了丰富的 API,允许开发者自定义和扩展 Axis 的功能。 Axis 的缺点 虽然 Axis 是一个功能强大且流行的 Web 服务框架...

    Android axis调用Webservice

    Web Service是一种常见的通信方式,而Axis2是Apache组织提供的一款强大的Web Service框架,它支持SOAP和RESTful服务。本文将详细介绍如何在Android应用中利用Axis2来调用Web Service。 **一、Android与Web Service...

    Spring+axis2开发webservice[整理].pdf

    这个页面可以获取并遍历服务映射(`Constants.SERVICE_MAP`)中的服务,为每个服务提供一个链接,该链接指向服务的WSDL定义。 5. **开发Web服务**: - 使用Spring的`@WebService`注解标记你的服务类,并通过`@...

    Axis 开发指南

    Axis支持SOAP协议,能够简化WebService的创建、部署和调用过程,同时具备丰富的文档和社区支持,使得开发者能够快速上手并解决遇到的问题。 #### Axis 1.4 使用详解 ##### 2.1 Axis 1.4 框架概览 Apache Axis 1.4...

    java处理.net webservice返回的对象

    总结来说,Java通过Apache Axis调用.NET ASMX WebService主要涉及以下几个步骤: 1. 添加必要的依赖库。 2. 创建Service和Call对象。 3. 设置目标Web服务地址、操作名称、参数和返回类型。 4. 调用Web服务方法并接收...

    支支持处理asp的web service调用

    Map, Object> map = new HashMap, Object>(); map.put("serSupplier", "afasfasf"); map.put("callTime", "ffffffffff"); Map, WebServiceResultBean> rs = ser.invoke("EOMS", "isAlive1", map); System....

    通用web service调用方法

    Map, Object> map = new HashMap, Object>(); map.put("serSupplier", "afasfasf"); map.put("callTime", "ffffffffff"); Map, WebServiceResultBean> rs = ser.invoke("EOMS", "isAlive1", map); System....

    webservice

    1. **创建RPCServiceClient对象**:首先创建一个`RPCServiceClient`对象,它是Axis2提供的用于调用远程服务的客户端类。 2. **设置选项**:接着设置客户端选项,包括服务的URL地址等。 3. **构造QName**:构建一个`...

    WebService+Json DEMO

    在DEMO中,它可能被用来将Java对象转换为Json字符串,或者将接收到的Json字符串解析成Java对象。这个库提供了多种方法,如`JSONObject`、`JSONArray`,以及方便的JSON与Java Bean、Map等对象之间的转换功能。 文件`...

    Java如何基于wsimport调用wcf接口

    调用.NET WCF服务的其他方法,如AXIS和直接使用SOAP库,通常涉及到更多的配置和代码编写。相比之下,使用wsimport工具能简化这个过程,使得Java开发者能更方便地调用WCF服务。然而,这也意味着你需要对WSDL文件有...

    webservice导图

    源码可能用于演示如何创建、调用和管理Web服务,而工具可能包括用于生成WSDL文档、测试服务或者自动化部署的实用程序。 【文件名】:“Webservice.mmap” —— 这是一个MindMap(思维导图)文件,很可能详细展示了...

    Java编程Webservice指定超时时间代码详解

    // 设置超时时间 Map, Object> context = ((BindingProvider) helloService).getRequestContext(); context.put(BindingProviderProperties.CONNECT_TIMEOUT, 5000); // 建立连接超时时间,单位为毫秒 context.put...

    Stax组装及解析XML的例子

    在给定的上下文中,解析后的结果被转换为`Map`或`List<Map>`,这使得操作数据变得非常直观和方便。通过这种方式,开发人员可以直接在业务逻辑中使用熟悉的Java集合API,而无需关心底层的XML结构。 此外,例子中提到...

Global site tag (gtag.js) - Google Analytics