`
萧_瑟
  • 浏览: 160445 次
社区版块
存档分类
最新评论

基于axis2的webservice和android简单的本地数据交互

阅读更多
服务端具体生成(具体内容):
http://blog.sina.com.cn/s/blog_674522cd01010v66.html

PC客户端测试
package cn.ac.iscas.gz.sems.test;

import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;

import cn.ac.iscas.gz.sems.webservicedemo.HelloWorldStub;

public class webserviceClientTest {
	
	public static void main(String[] args){
		try {
			HelloWorldStub hss = new HelloWorldStub();
			
			HelloWorldStub.SayHello request = new HelloWorldStub.SayHello();
			
			request.setName("萧_瑟");//为sayHello设置参数
			
			HelloWorldStub.SayHelloResponse response = hss.sayHello(request);
			
			String res = response.get_return();//得到返回结果
			
			System.out.println(res);
		} catch (AxisFault e) {
			e.printStackTrace();
		} catch (RemoteException e) {
			e.printStackTrace();
		}
	}

}


android客户端测试
package gz.iscas.ac.cn.webService;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class WebServiceDemoAndroidActivity extends Activity {
	private static String NAMESPACE = "http://webServiceDemo.sems.gz.iscas.ac.cn";
	// webService地址
//	private static String URL = "http://10.0.2.2:8090/axis2/services/helloWorld?wsdl";
	private static String URL = "http://192.168.17.76:8090/axis2/services/helloWorld?wsdl";
	private static final String METHOD_NAME = "sayHello";

	private Button okButton;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		okButton = (Button) findViewById(R.id.ok);
		okButton.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				showTest();
			}
		});
	}

	private void showTest() {
		// (1) 指定webservice的命名空间和调用的方法名
		SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
		/**
		 * (2) 设置调用方法的参数值,如果没有参数,可以省略。 要注意的是,addProperty方法的第1个参数虽然表示调用方法的参数名,
		 * 但该参数值并不一定与服务端的WebService类中的方法参数名一致,只要设置参数的顺序一致即可。
		 */
		rpc.addProperty("name", "萧_瑟");
		// (3) 生成调用Webservice方法的SOAP请求信息。该信息由SoapSerializationEnvelope对象描述
		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
				SoapEnvelope.VER11);
		envelope.bodyOut = rpc;
		envelope.dotNet = true;
		envelope.setOutputSoapObject(rpc);
		// (4)创建HttpTransportsSE对象。通过AndroidHttpTransport类的构造方法可以指定WebService的WSDL文档的URL
		HttpTransportSE ht = new HttpTransportSE(URL);
		try {
			// (5)使用call方法调用WebService方法
			// Call方法的第一个参数一般为null,第2个参数就是在第3步创建的SoapSerializationEnvelope对象
			// ht.call(SOAP_ACTION, envelope);
			ht.call(null, envelope);
			// (6)使用getResponse方法获得WebService方法的返回结果
			String result = String.valueOf(envelope.getResponse());
			System.out.println("result " + result.toString());
			Toast.makeText(WebServiceDemoAndroidActivity.this, result,
					Toast.LENGTH_LONG).show();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="gz.iscas.ac.cn.webService"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="7" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".WebServiceDemoAndroidActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

    <uses-permission android:name="android.permission.INTERNET" />

</manifest>




http://115.com/file/c2b72qy5
分享到:
评论

相关推荐

    Android axis调用Webservice

    总结,Android利用Axis2调用Web Service涉及服务端接口设计、客户端代码实现、网络请求和数据解析等多个环节。了解这些知识点有助于构建稳定可靠的跨平台通信。在实际开发中,还需要考虑错误处理、性能优化以及安全...

    axis2搭建webService并包含android调用此WebService服务案例

    【描述】: "本教程详细介绍了如何使用axis2在eclipse和tomcat环境下构建webService服务,并阐述了如何让Android应用程序调用这些服务,包括传递自定义类型参数和集合。" 【标签】: "webService", "axis2" 【正文】...

    axis2 webservice配合苹果写的

    1. **服务端代码**:包含使用Axis2和Java编写的Web服务实现,可能有接口定义、服务类和配置文件。 2. **客户端代码**:这部分可能包含一个简单的iOS应用,演示如何使用AXIS2 Web服务,可能包括请求构建、发送、解析...

    axis2创建webservice操作手册.doc

    综上所述,本文档详细介绍了WebService的基本概念、工作原理以及如何使用Axis2框架构建WebService服务器和客户端。对于初学者来说,掌握这些知识是非常重要的,有助于更好地理解和应用这项技术。

    Android与服务器端数据交互(基于SOAP协议整合android webservice)

    在Android应用开发中,与服务器端进行数据交互是必不可少的部分。本文将详细介绍如何基于SOAP协议整合Android与Web服务,以便在Android客户端调用服务器提供的功能。SOAP(Simple Object Access Protocol)是一种轻...

    Android与服务器端数据交互(基于SOAP协议整合android+webservice)_.docx

    在PC上,我们通常会使用如XFire、Axis2或CXF等库来访问WebService,但在资源有限的Android设备上,我们需要寻找更适合的解决方案。 KSOAP2是一个适用于Android的轻量级库,专门用于处理SOAP通信。在开始使用KSOAP2...

    android和webservice交互的实例

    SOAP是一种基于XML的协议,适合复杂的、结构化的数据交换,而REST则更轻量级,常用于简单的数据获取和更新。 步骤一:构建Web Service 1. 创建一个Java类作为服务接口,定义所需的方法。这些方法通常会返回XML或...

    java调用webservice(axis + ksoap2)

    Java调用WebService是一种常见的跨平台通信方式,尤其在Android应用开发中,经常需要与服务器进行数据交互。本示例将详细介绍如何使用Axis和KSOAP2这两个库在Java环境中调用WebService。 首先,让我们理解一下标题...

    Andriod访问WebService和Servlet.zip

    本文将深入探讨Android如何利用kSOAP2库与基于Axis的WebService进行通信,以及如何处理Servlet返回的数据,特别是JSON数组。 一、Android与WebService的交互:kSOAP2 1. **kSOAP2介绍**:kSOAP2是一个轻量级的开源...

    axis+ksoap2开发webservice配置指南

    标题 "axis+ksoap2开发webservice配置指南" 涉及到的是在Java环境中使用Axis框架和ksoap2库来创建和调用Web服务的过程。 Axis是Apache软件基金会的一个开源项目,它允许开发者通过简单的API来创建和部署Web服务,而...

    Android调用WebService

    在Android开发中,有时我们需要与远程服务器进行交互,获取或发送数据,这时Web Service就扮演了重要的角色。本文将深入探讨如何使用kSOAP库在Android应用中调用WebService,同时也会涉及利用Axis插件创建服务端的...

    android开发--使用ksoap2调用webservice借鉴.pdf

    KSOAP2提供了一套简洁的API,使得Android开发者可以轻松地与WebService进行交互,从而实现跨平台的数据交换。在进行Android开发时,掌握KSOAP2的使用对于提升应用程序的功能性和灵活性是非常有帮助的。

    在android中使用KSOAP2调用webservice

    在Android开发中,有时我们需要与服务器进行数据交互,这时候Web Service接口就显得尤为重要。Web Service是一种基于SOAP(Simple Object Access Protocol)协议的跨平台通信方式,允许不同系统间的数据交换。由于...

    android开发--使用ksoap2调用webservice.pdf

    Web服务,尤其是基于SOAP(简单对象访问协议)的WebService,允许不同平台、语言和系统的应用之间进行通信。然而,Android SDK本身并不直接支持SOAP通信,因此我们需要依赖第三方库,比如KSOAP2,来实现这一功能。 ...

    Android如何使用WebService接口.docx

    首先,理解WebService的核心概念:它是一种基于SOAP(Simple Object Access Protocol)协议的远程调用标准,允许不同操作系统、编程语言和应用之间的数据交换。在OPhone或Android系统中,由于原生SDK并未提供调用...

    android开发--使用ksoap2调用webservice[借鉴].pdf

    在Android开发中,调用Web服务是常见的需求,尤其是当需要与服务器进行数据交互时。Web服务,特别是基于SOAP协议的WebService,允许不同平台和语言之间进行通信。然而,Android SDK本身并未提供直接调用WebService的...

    在Android中访问WebService接口

    ksoap2支持多种协议版本,如SOAP 1.1和SOAP 1.2,并且提供了易于使用的API,使得开发者能够轻松地与WebService进行交互。 #### 三、环境配置 在开始编写代码之前,需要确保Android项目的环境配置正确。这包括添加...

    Android通过Ksoap2链接WebService上传图片的功能.doc

    在Android开发中,有时我们需要与服务器进行数据交互,比如上传用户的数据或文件,例如图片。在本场景中,我们将探讨如何使用Ksoap2库来连接WebService实现图片上传功能。Ksoap2是一个轻量级的库,它使得Android应用...

Global site tag (gtag.js) - Google Analytics