首先到Apache Axis2官网下载相应的War包,部署到Tomcat webApps文件夹下
下载地址:
http://axis.apache.org/axis2
建立一个pojo,放到已经部署到tomcat的axis文件夹的WEB-INF的pojo文件夹下,如果没有自己建一个:
这个是pojo的java代码
import java.util.Random;
public class Test2 {
public String sayHello(String name) {
return name + " say: hello [axis2]";
}
public int getAge(int i) {
return i + new Random().nextInt(100);
}
}
下面是Android部分
下载最新的ksoap2-android-assembly-3.0.0-RC.2-jar-with-dependencies.jar包,
下载地址:
http://code.google.com/p/ksoap2-android/wiki/HowToUse?tm=2
在Android Application Project 中建立一个文件夹,把Jar包放进去,并引入此Jar包
注意:一定要把这个Jar包所在的文件夹Build Path里设置为Use As Source Folder
接下来是Android Activity代码:
package com.example.testandroidwebservice;
import java.io.IOException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class LoginActivity extends Activity {
private static final String NAME_SPACE = "http://ws.apache.org/axis2";
private static final String WDSL_LINK = "http://192.168.1.102:8089/axis2/services/Test2?wsdl";
private static final String METHOD_NAME = "sayHello";
private Button call_soap;
private EditText name_input;
private TextView textView;
private String resultStr;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
this.initUI();
this.call_soap.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callWebService();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_login, menu);
return true;
}
private void initUI() {
call_soap = (Button) this.findViewById(R.id.soap_button);
name_input = (EditText) this.findViewById(R.id.name_input);
textView = (TextView) this.findViewById(R.id.textView);
}
private void callWebService() {
Thread thr = new Thread() {
public void run() {
try {
String name = name_input.getText().toString();
//Soap Object 是 SoapSerializationEnvelope的重要组成部分
SoapObject request = new SoapObject(NAME_SPACE, METHOD_NAME);
request.addProperty("name", name);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = request;
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(WDSL_LINK);
ht.call("", envelope);
String ret = String.valueOf(envelope.getResponse());
Log.d("resultStr = ", ret);
setResultStr(ret);
} catch (SoapFault e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
};
thr.start();
textView.setText(resultStr);
}
public String getResultStr() {
return resultStr;
}
public void setResultStr(String resultStr) {
this.resultStr = resultStr;
}
}
我发现调用WebService不能用本线程,另外,调用本机的WebService,不能用127.0.0.1和localhost,切记
分享到:
相关推荐
本文将详细介绍如何在Android应用中利用Axis2来调用Web Service。 **一、Android与Web Service交互基础** 1. **SOAP(Simple Object Access Protocol)**: 是一种轻量级的协议,用于交换结构化的和类型化的信息。...
Axis2是一个流行的Java Web服务框架,而Ksoap2则是一个轻量级的库,用于在Android平台上实现SOAP(简单对象访问协议)通信。本篇文章将详细介绍如何在Android环境中使用Ksoap2连接到Axis2服务,并且传递自定义类对象...
【标题】: "axis2搭建webService并包含android调用此WebService服务案例" 【描述】: "本教程详细介绍了如何使用axis2在eclipse和tomcat环境下构建webService服务,并阐述了如何让Android应用程序调用这些服务,包括...
本示例将详细介绍如何使用Axis和KSOAP2这两个库在Java环境中调用WebService。 首先,让我们理解一下标题中的两个关键组件: 1. **Axis**:Apache Axis是Apache软件基金会开发的一个开源项目,它提供了一个强大的...
### axis2创建webservice操作手册知识点详述 #### 1. 引言 ##### 1.1 目的 本文档旨在为初次接触WebService技术的开发者提供一份详细的操作指南,帮助他们了解WebService的基本原理以及如何使用Axis2框架来构建...
本篇将详细介绍如何在Android端利用KSOAP2与运行在Tomcat上的Axis Web服务进行通信。 首先,我们需要理解SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在Web上交换结构化和类型化的信息。KSOAP2...
标题 "Axis2 利用工具" 提到的是一个与网络安全相关的 Axis2 图形化利用工具。Axis2 是一个流行的开放源代码服务导向架构(SOA)框架,它用于构建和部署 Web 服务。在网络安全领域,这个词“利用”通常指的是发现并...
axis2.war
标题 "axis+ksoap2开发webservice配置指南" 涉及到的是在Java环境中使用Axis框架和ksoap2库来创建和调用Web服务的过程。 Axis是Apache软件基金会的一个开源项目,它允许开发者通过简单的API来创建和部署Web服务,而...
在PC上,我们通常会使用如XFire、Axis2或CXF等库来访问WebService,但在资源有限的Android设备上,我们需要寻找更适合的解决方案。 KSOAP2是一个适用于Android的轻量级库,专门用于处理SOAP通信。在开始使用KSOAP2...
标题中的“axis2 webservice配合苹果写的”表明这是一个关于使用Apache Axis2框架创建Web服务,并且这个服务与苹果(可能是iOS设备或Apple平台)进行交互的教程或示例。Apache Axis2是Java平台上广泛使用的Web服务...
AXIS14-Android-App 是一个开源项目,源自2014年Visvesvaraya国家技术学院(VNIT Nagpur)的年度技术节AXIS的Android应用程序。这个项目使用了Java编程语言来构建,因此我们可以深入探讨Android应用开发以及Java在...
**CCTVDroid** 是一个专为Android平台设计的应用程序,允许用户远程访问和查看Axis IP摄像机的实时视频流。这款应用的核心功能是提供一个便捷的接口,让用户能够通过移动设备监控安全摄像头,适用于家庭、商业场所等...
android 移动开发 jar包 下载
- 选择`File -> New -> Other`,从弹出的对话框中选取`Axis2Wizards -> Axis2CodeGenerator`。 - 保持`Generate javasource code from WSDL file`选项被选中,点击“Next”。 - 浏览并选择位于`src`目录下的`...
在 Android 中,加速度传感器的类型是 Sensor.TYPE_ACCELEROMETER,它返回加速度传感器值,单位是 m/s^2,有三个方向的值分别是 x-axis、y-axis 和 z-axis 方向加速度。 二、陀螺仪传感器 陀螺仪传感器是一种能够...
最新版ksoap2,官网下载
在Android中,由于资源限制,我们不能直接使用Java客户端中的库(如XFire, Axis2, CXF等)来访问Web服务。这时,KSOAP2库就派上了用场。KSOAP2是一个专门为Android设计的轻量级库,它允许Android应用与使用SOAP协议...