`
j夫子
  • 浏览: 92593 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

KSOAP的soapObject转换成pojo的工具类

    博客分类:
  • java
 
阅读更多

最近在android上使用KSOAP,于是写了这个工具类。

比较简单,利用反射将属性注入到pojo里面去。

 

使用方法:

 

User u = SoapObjectUtil.soapToPojo(User.class,soapObject);

 

 

代码:

 

/**
 * soapObject->javaBean转化工具
 * @author zjf
 *
 */
public class SoapObjectUtil {
	/**
	 * soap转化为javabean
	 * @param <T>
	 * @param clazz
	 * @param soapObject
	 * @return
	 * @throws IllegalArgumentException
	 * @throws SecurityException
	 * @throws IllegalAccessException
	 * @throws InvocationTargetException
	 * @throws NoSuchMethodException
	 * @throws InstantiationException
	 */
	public static <T> T soapToPojo(Class<T> clazz, SoapObject soapObject)
			throws IllegalArgumentException, SecurityException,
			IllegalAccessException, InvocationTargetException,
			NoSuchMethodException, InstantiationException {
		
		Field[] fields = clazz.getDeclaredFields();
		Object obj = clazz.newInstance();
		for (Field f : fields) {
			String method = "set" + f.getName().substring(0, 1).toUpperCase()
					+ f.getName().substring(1);
			if (hasMethod(method, clazz.getMethods())) {
				clazz.getMethod(method, new Class[] { f.getType() }).invoke(
						obj,
						new Object[] { soapObject.getProperty(f.getName()) });
			}
		}
		return (T) obj;
	}

	private static boolean hasMethod(String methodName, Method[] method) {
		for (Method m : method) {
			if (methodName.equals(m.getName())) {
				return true;
			}
		}
		return false;
	}
}
1
1
分享到:
评论

相关推荐

    ksoap ksoap

    总之,ksoap是Android开发中调用SOAP Web Service不可或缺的工具,它简化了客户端与服务器之间的交互过程,让开发者能够专注于业务逻辑,而不是底层通信细节。通过理解和熟练运用ksoap,可以有效地提升Android应用与...

    Android使用KSOAP调用webservice返回自定义类

    2. 在获取响应后,我们可以将SOAP响应转换为自定义类实例: ```java CustomObject customObject = (CustomObject) envelope.bodyIn; String property1Value = customObject.getPropertyAsString("property1"); int ...

    ksoap使用详解ksoap

    4. **数据类型转换**:SOAP响应通常是XML格式,需要正确解析成Java对象才能使用。 **五、总结** kSOAP库为Android开发者提供了一种简单的方式来访问SOAP Web服务,尽管现代Web服务可能更倾向于RESTful API,但在...

    啊ksoap2的3.2.0jar

    1. **导入kSOAP2库**:将`ksoap2-android-assembly-3.2.0-jar-with-dependencies.jar`添加到项目的类路径中,确保所有依赖都被包含。 2. **设置SOAP请求参数**:创建一个`SoapObject`实例,用于表示SOAP请求的主体...

    ksoap2源码

    在分析kSOAP2源码时,你可以关注以下几个关键类和接口: - **SoapObject**:表示一个SOAP对象,可以添加属性和值。 - **SoapSerializationEnvelope**:用于序列化和反序列化SOAP消息的容器。 - **SoapEnvelope**:...

    ksoap2的jar

    1. **数据封装与请求**:ksoap2提供了方便的数据封装接口,可以将Java对象转换为SOAP消息,反之亦然。通过SoapObject和SoapSerializationEnvelope类,可以轻松创建符合SOAP规范的请求和响应。 2. **HTTP传输**:...

    ksoap2-android3.6.2

    1. 引入库:将提供的jar文件(ksoap2-android3.6.2.jar)添加到项目的类路径或依赖管理中。 2. 创建SOAP请求:构造一个SoapObject,设置方法名和参数。 3. 设置SOAP Header(如果需要):例如,添加认证信息或自定义...

    ksoap2-3.1.0 和API

    本文将深入探讨ksoap2-3.1.0版本及其API,帮助开发者更好地理解和使用这一强大的工具。 一、ksoap2简介 ksoap2是一个基于Android平台的SOAP客户端库,它简化了与SOAP Web服务的交互。该库提供了一套完整的API,可以...

    ksoap2.jar

    - **XML序列化和反序列化**:ksoap2能够将Java对象转换为XML格式,以便于发送到SOAP服务,同时也能将服务器返回的XML数据解析成Java对象。 - **错误处理**:ksoap2提供了异常处理机制,方便开发者捕获和处理可能...

    ksoap2-android的封装实用类

    ksoap2-android的封装实用类,源码见github(欢迎star):https://github.com/LiuShuaiQ/SoapProject

    ksoap2-android-3.6.4.zip

    在Android中,ksoap2-android库是用于调用SOAP(Simple Object Access Protocol)Web Service的首选工具。本篇将详细介绍如何利用ksoap2-android-3.6.4库在Android应用中调用Web Service。 首先,我们需要理解SOAP...

    Android_Ksoap2

    - **对象序列化和反序列化**:Ksoap2能将Java对象转换为SOAP消息,同时也能解析SOAP响应并还原为Java对象,这极大地简化了客户端和服务端的数据交换。 - **支持各种数据类型**:包括基本类型如字符串、整数、浮点数...

    ksoap2-3.6.2

    虽然现代的Web服务趋势转向了RESTful API,但在一些遗留系统或特定需求场景下,ksoap2仍然是Android开发者与SOAP Web服务交互的重要工具。 在使用ksoap2-3.6.2版本时,开发者需要注意的是,每个版本可能都有其特性...

    KSOAP2 Android 文档资料

    #### 二、KSOAP2 Android 中的`HttpTransportSE`类 `HttpTransportSE`是KSOAP2中用于处理HTTP传输的一个关键类,它是基于Java 2 Standard Edition (J2SE)的HTTP传输层。该类继承自`Transport`类,并提供了一系列的...

    android ksoap2 3.6 webservice专用

    要在Android项目中使用KSOAP2,首先需要将对应的jar包(如ls-kosap.jar)添加到项目的libs目录下,然后在项目的build.gradle文件中将其添加到依赖项,或者通过Eclipse或Android Studio的类路径设置进行添加。...

    ksoap2源代码及jar包

    总的来说,kSOAP2-j2ME是J2ME开发中与Web服务交互的重要工具。理解和掌握kSOAP2的使用方法和原理,对于提升J2ME应用的功能性和可扩展性有着重要作用。通过深入研究源代码,开发者可以更好地定制和优化其在特定项目中...

    ksoap2-android-.zip

    总之,KSOAP2是Android开发者连接SOAP Web服务的强大工具,它简化了通信过程,使得即使没有深入理解SOAP协议的开发者也能实现与Web服务的交互。通过导入压缩包中的JAR文件,你可以轻松地将这种功能整合到你的Android...

    使用KSOAP2调用WebService

    在Eclipse中,确保将这个jar文件加入到项目的构建路径中,这样编译器就能识别并使用KSOAP2的相关类。 接下来,我们详细解析KSOAP2调用WebService的基本步骤: 1. **创建SoapObject并指定命名空间和方法名**: ...

Global site tag (gtag.js) - Google Analytics