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包==》空间不够了,需要索取的给我留言吧。

 

posted @ 2014-11-18 08:36  博斯芮网络科技  阅读(362)  评论(0编辑  收藏  举报