Android调用WebService之服务端实现(一)
webserviceandroidservicemyeclipsestring服务器 目录(?)[-] 一构建WebServices 二新建一个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两个文件中的代码稍做修改。记得改了服务器端的代码,必须重启服务器! <span style="font-size:16px;">//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; </span> 运行程序,在控制台打印了:“OK!=======abc”,这说明我们的服务器搭建无误,可以正常使用了。为了更深入了解,再写一个简单的测试类: <span style="font-size:16px;">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); } } </span> 源码地址==》 WAR包==》空间不够了,需要索取的给我留言吧。