• 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包==》空间不够了,需要索取的给我留言吧。
  • 相关阅读:
    Mac OSX 读写usb composite设备
    std io的一个笔记
    国庆假期掠影
    c++类型转化
    operator new and delete
    一个递归求和的两种方法
    10.24,今天是程序员节
    基于MyUsbDevice类的一个例子
    逆波兰表达式笔记
    2012年的最后一天
  • 原文地址:https://www.cnblogs.com/ruishuang208/p/4104838.html
Copyright © 2020-2023  润新知