zoukankan      html  css  js  c++  java
  • 使用AXIS开发Web Service的示例

    1)先下载Axis的文件包 :http://ws.apache.org/axis/
    2)新建web工程 名称为:axis

    拷贝Axis包中 webapps/axis 目录中的所有文件到工程目录的 webroot 目录中,
    然后 刷新 工程

    新建一个 java 文件,文件名称为:HelloClient,文件内容如下:

    import java.util.List;
    import java.util.ArrayList;
    public class Hello
    {
        public String getName(String name)
        {
            return "Hello "+ name;
        }
        public List getList()
        {
         List list= new ArrayList();
         list.add(0,"aa");
         list.add(1,"bb");
         list.add(2,"cc");
         return list;
        }
    }
    现在拷贝 HelloClient.java 到 webroot 目录中,并改名称为 Hello.jws

    现在布署工程,并启动服务

    启动浏览器并打开以下链接

    http://localhost:8080/axis/Hello.jws?wsdl

    3)新建一个测试类:代码如下

    import java.util.ArrayList;
    import java.util.List;

    import javax.xml.namespace.QName;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    public class testAXIS
    {
        public static void main(String[] args)
        {
            try
            {
                String endpoint = "http://localhost:9000/axis/Hello.jws";
                Service service = new Service();
               
                Call call = null;
                call = (Call) service.createCall();
               
                call.setOperationName(new QName(endpoint, "getName"));
                call.setTargetEndpointAddress(new java.net.URL(endpoint));
                String str = (String) call.invoke(new Object[] { " jian" });
                System.out.println(str);
                
                //这里是复杂数据类型,需要另外配置call.invoke才能转换
                //call.setOperationName(new QName(endpoint, "getList"));
               // call.setTargetEndpointAddress(new java.net.URL(endpoint));
                //List list = (ArrayList) call.invoke(new Object[] {});
               // System.out.println(list.size());
               
            }
            catch (Exception ex)
            {
                ex.printStackTrace();
            }
        }
    }
    注意需要5个JAR包:axis.jarsaaj.jarjaxrpc.jarcommons-logging-1.0.4.jarcommons-discovery-0.2.jar

  • 相关阅读:
    智课雅思词汇---二十、前缀syn-sym-syl是什么意思
    运行php的时候出现计算机中丢失 MSVCR110.dll怎么解决
    解决PHP5.6版本“No input file specified”的问题
    PhpSpreadsheet如何读取excel文件
    [thinkphp使用phpspreadsheet时出现]Cannot redeclare xxxxxx() (previously declared in C:WWWxxx.xxx:xxx)
    thinkphp中如何使用phpspreadsheet插件
    thinkphp中composer方式安装的插件如何使用
    phpexcel如何读取excel的数据和如何导出数据到excel
    Composer如何安装(安装注意事项)
    enq: TX
  • 原文地址:https://www.cnblogs.com/willpower/p/1203256.html
Copyright © 2011-2022 走看看