Android端例子:
首先先设置AndroidManifest.xml赋予访问网络权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
主Activity内容:
package com.cn;
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.widget.Toast;
public class WebserviceActivity extends Activity {
//WebService中的命名空间
private static final String NAMESPACE = "http://test";
//WebService地址
private static String URL = "http://192.168.1.2:8080/accessWebService/services/WebServiceTest?wsdl";
//需要调用的方法
private static final String METHOD_NAME = "sayHello";
//可以为null, 或者URL+方法名 (http://192.168.1.2:8080/accessWebService/services/sayHello)
private static String SOAP_ACTION = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
//传方法参数
rpc.addProperty("theCityName", "上海");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
HttpTransportSE ht = new HttpTransportSE(URL);
//AndroidHttpTransport ht = new AndroidHttpTransport(URL);
ht.debug = true;
ht.call(SOAP_ACTION, envelope);
//ht.call(null, envelope);
//SoapObject result = (SoapObject)envelope.bodyIn;
//detail = (SoapObject) result.getProperty("getWeatherbyCityNameResult");
SoapObject detail =(SoapObject) envelope.bodyIn;
Toast.makeText(this, detail.toString(), Toast.LENGTH_LONG).show();
return;
} catch (Exception e) {
e.printStackTrace();
}
}
}
服务端调用的Java类, 如何部署WebService请参照博客
package test;
public class WebServiceTest {
public String sayHello(String name){
return "Hello,"+name;
}
}
分享到:
相关推荐
这个压缩包文件“安卓Android源码——WebService+ksoap2天气查询项目.zip”是关于使用Android平台进行Web服务调用的示例项目。它涉及到的主要知识点包括Android应用开发、WebService通信以及ksoap2库的使用。 1. **...
下面将详细讲解如何在Android中使用KSOAP2来调用Webservice接口进行查询操作。 首先,了解SOAP。SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。它允许应用程序通过HTTP协议发送和接收数据,...
使用ksoap2调用Webservice实例 需将lib文件夹设置为源文件夹 在AndroidManifest.xml文件中加入<uses-permission android:name="android.permission.INTERNET" />
该压缩包文件“Android应用源码WebService+ksoap2天气查询项目.zip”主要包含了一个基于Android平台的天气查询应用的源代码,使用了Web Service技术和ksoap2库来实现。这个项目是一个很好的学习资源,帮助开发者了解...
本文将详细介绍如何使用Ksoap2来调用.NET WebService。 1. **理解SOAP**: SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。它定义了一种标准的消息结构,允许不同系统之间的应用程序进行通信,...
本篇文章将详细探讨如何在Android中利用ksoap2库来调用WebService接口,并通过jar包的方式进行集成。 **ksoap2库介绍** ksoap2是一个轻量级的开源库,专门用于Android平台,它使得Android应用程序能够方便地与基于...
本文将详细介绍如何在Android应用中使用KSOAP2来调用WebService。 首先,为了在Android项目中使用KSOAP2,你需要下载并添加对应的jar文件。你可以从Google Code仓库...
本示例主要探讨如何在Android应用中利用kotlin的协程(Coroutines)和ksoap2库来实现对WebService的调用,并解决在API 30及以上版本中Handler过时的问题。 一、ksoap2库介绍 ksoap2是一个轻量级的开源库,专为...
android 利用ksoap调用webservice工具
由于Android SDK本身并未内置调用Web Service的库,开发者通常会采用第三方库KSOAP2来实现这一功能。 KSOAP2是一个轻量级的Java库,专门为移动设备设计,适用于Android系统。它简化了SOAP消息的构建、发送和解析...
详细讲解了怎么在OPhone 中使用KSOAP2调用WebService 附有例子
本示例“安卓调用WebService(ksoap2)-飞机航班Dome”是针对新手的一个实践项目,它演示了如何在Android应用中使用ksoap2库来调用一个Web服务接口,查询飞机航班信息。下面我们将详细探讨这个过程涉及的知识点。 1...
在本例中,标签"android"、"android__webservice"、"ksoap2"、"ksop2"、"webservice"分别表示: - **android**:表明是与Android平台相关的技术。 - **android__webservice**:强调在Android中处理Web服务的场景。 ...
总结,Android与C# WebService基于kSOAP通信的核心在于正确构造SOAP请求,设置HTTP头信息,调用Web Service方法,发送请求并处理响应。这个过程中需要注意兼容性问题,特别是当Android客户端与.NET Web Service交互...
本教程将深入探讨如何使用XFire开发Web服务,并在Android应用中通过KSOAP2进行调用。 首先,我们需要了解XFire的基础知识。XFire(现已被Apache CXF项目合并)是一个轻量级的Web服务框架,它支持SOAP、RESTful和XML...
由于Android SDK自身并未提供专门用于调用WebService的库,所以我们通常会借助第三方库,比如KSOAP2,来实现这一功能。 KSOAP2是一个轻量级的、专门为移动设备设计的库,适用于Android系统。它可以方便地帮助开发者...
以下是一个详细的步骤和示例代码,说明如何在Android中利用ksoap2调用WebService。 1. **添加ksoap2依赖** 首先,你需要下载ksoap2的jar文件,如`ksoap2-android-assembly-3.6.1-jar-with-dependencies.jar`。将这...
在TestWebservice这个示例项目中,开发者可能创建了一个Android应用,该应用使用ksoap2库来调用一个公开的WebService,查询特定地区的天气信息。源码可能包含以下关键部分: 1. **初始化ksoap2**:在Activity或...