axis1.4记录下走过的坑

在使用Axis1.4时遇到错误:SimpleDeserializer遇到意外的子元素。问题可能涉及实体类序列化、方法的序列化配置,以及实体类首字母大小写。解决方案包括检查实体类和方法的序列化设置,以及处理嵌套类的情况。若实体类名称首字母未大写,可选择修改服务端参数为小驼峰命名或直接修改Axis源码。
摘要由CSDN通过智能技术生成

传入简单类型,返回嵌套实体类对象

		//调用接口  
     	Service service = new Service();
		String url = "http://192.xxx.xx.xx:8010/Service.asmx";
		String namespace = "http://tempuri.org/";
		String actionUri = "GetRoomBookedDayInfo"; //Action路径
		String op = "GetRoomBookedDayInfo"; //要调用的方法名
		Call call = (Call) service.createCall();
		//实体类序列化反序列化 ----start
		TypeMappingRegistry registry =  (TypeMappingRegistry) service.getTypeMappingRegistry();
		TypeMapping mapping = (TypeMapping) registry.createTypeMapping();
	    mapping.register(BookedRoomInfo.class,new QName(namespace, actionUri),
	    		new BeanSerializerFactory(BookedRoomInfo.class, new QName(namespace, actionUri)),
	    		new BeanDeserializerFactory(BookedRoomInfo.class, new QName(namespace, actionUri)));
	    mapping.register(MeetingRoom.class,new QName(namespace, "MeetingRoom"),
			    new BeanSerializerFactory(MeetingRoom.class, new QName(namespac
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值