Android调用WebService之服务端实现(一)

原创文章,转载请注明出处:http://www.blog.csdn.net/tangcheng_ok

    这个简单的WebService服务将用来给Android客户端调用的,我们使用xfire来实现相关功能。WebService不多做介绍,google下一大堆呢,这里只是简单的搭建一个WebService让Android来调用。如果只做Android应用开发,那么这个工作就交给网站开发者去做吧。Android应用开发的工作是如何通过Android调用WebService,这个将在我《Android调用WebService之客户端实现(二)》中实现

一、构建WebServices

    开发环境(Myeclipse8.5+Tomcat6.0+JDK6.0)(为了方便感兴趣的朋友进行测试而没有这个开发环境,我特将次工程打成war包,war怎么用你懂的!)

    首先新建一个Web Service工程,没有什么特别的,注意在“Select web service framework & creationscenario”时选择(Create web service from Java class)并选择创建javaBean。

    “Create web service from Java class”输入“Web Services name”即可


    点击完成之后就生成了一个IHelloWorld接口类和一个实现类,接口中只有一个example(string)方法,可以再实现类HelloWorldImpl中完成具体的业务流程


    OK,下面部署Tomcat,打开浏览器输入:http://localhost:8080/WebServiceDemo/services看到效果了。


二、新建一个WebService客服端进行测试

    选择WebServiceDemo,新建一个WebServiceClient,在“Create web service test client from WSDL document”输入WSDL URL点击完成即可


    完成上面的步骤之后打开在Package Explorer中看到生成了这些文件


    在生成的类中有一个名为HelloWorldClient.java的文件,可以直接运行这个文件进行测试。当然为了验证,我们对HelloWorldClient.java和HelloWorldImpl.java两个文件中的代码稍做修改。记得改了服务器端的代码,必须重启服务器!

//HelloWorldClient.java
String result = service.example("abc");
System.out.println(result);
System.out.println("test client completed");
System.exit(0);
//HelloWorldImpl.java
return “OK!=======”+message;

    运行程序,在控制台打印了:“OK!=======abc”,这说明我们的服务器搭建无误,可以正常使用了。为了更深入了解,再写一个简单的测试类:

package org.winplus.cl;

import java.net.MalformedURLException;

import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import org.winplus.ws.IHelloWorld;


public class TestClient {

	public static void main(String[] args) {
		Service serceModel = new ObjectServiceFactory().create(IHelloWorld.class);
		XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
		String hwWRL = "http://localhost:8080/WebServiceDemo/services/HelloWorld";
		IHelloWorld srvc = null;
		try {
			srvc = (IHelloWorld) factory.create(serceModel, hwWRL);
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		String result = srvc.example("1");

		System.out.print(result);
	}
}
源码地址==》

WAR包==》空间不够了,需要索取的给我留言吧。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值