UML软件工程组织

通过WebService实现Java与.Net互联(3)
作者:夏治

 

编写测试代码

package org.tempuri;

import java.util.*;

/**
 * 测试程序
 * <p>Title: 通过客户端来测试Web Service</p>
 * <p>Description: 通过客户端来测试Web Service</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: Tiger</p>
 * @author SucreTiger
 * @version 1.0
 */
public class Test
{
    public static void main(String[] agrs)
    {
        long startW = Calendar.getInstance().getTime().getTime();
        for (int i = 0; i < 3; i++) {
            try {
                //定位WSDL文件的位置
                Service1Locator sl = new Service1Locator();
                //获得Web Service的引用
                Service1Soap ss = (Service1Soap) sl.getService1Soap();
                //通过记录开始和结束的时间,来测试Web服务调用所花费的时间
                long start = Calendar.getInstance().getTime().getTime();
                System.out.println("开始时间 : " + start);
                //调用Web Service提供的功能方法
                int result = ss.add(100, 99);
                System.out.println("返回结果: " + result);
                long end = Calendar.getInstance().getTime().getTime();
                System.out.println("结束时间: " + end);
                System.out.println("时间消费: " + (end - start));
            }
            catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }
}

查看测试结果

D:\JBuilder9\jdk1.4\bin\javaw -classpath "D:\Projects\TestWebService\classes;D:\JBuilder9\thirdparty\junit3.8\junit.jar;D:\JBuilder9\lib\unittest.jar;D:\JBuilder9\lib\saaj.jar;D:\JBuilder9\lib\jaxrpc.jar;D:\JBuilder9\lib\axis.jar;D:\JBuilder9\lib\wsdl4j.jar;D:\JBuilder9\lib\log4j-1.2.8.jar;D:\JBuilder9\lib\commons-logging.jar;D:\JBuilder9\lib\commons-discovery.jar;D:\JBuilder9\lib\xercesImpl.jar;D:\JBuilder9\lib\xmlParserAPIs.jar;D:\JBuilder9\lib\activation.jar;D:\JBuilder9\lib\mail.jar;D:\JBuilder9\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;D:\JBuilder9\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;D:\JBuilder9\jdk1.4\jre\lib\charsets.jar;D:\JBuilder9\jdk1.4\jre\lib\ext\dnsns.jar;D:\JBuilder9\jdk1.4\jre\lib\ext\ldapsec.jar;D:\JBuilder9\jdk1.4\jre\lib\ext\localedata.jar;D:\JBuilder9\jdk1.4\jre\lib\ext\sunjce_provider.jar;D:\JBuilder9\jdk1.4\jre\lib\im\indicim.jar;D:\JBuilder9\jdk1.4\jre\lib\jaws.jar;D:\JBuilder9\jdk1.4\jre\lib\jce.jar;D:\JBuilder9\jdk1.4\jre\lib\jsse.jar;D:\JBuilder9\jdk1.4\jre\lib\rt.jar;D:\JBuilder9\jdk1.4\jre\lib\sunrsasign.jar;D:\JBuilder9\jdk1.4\lib\dt.jar;D:\JBuilder9\jdk1.4\lib\htmlconverter.jar;D:\JBuilder9\jdk1.4\lib\tools.jar" org.tempuri.Test

开始时间: 1084968122004

返回结果: 199(Web Service返回的操作结果)

结束时间: 1084968122833

时间消费: 829(//调用一次Web Service所花费的时间,单位毫秒)

开始时间: 1084968122848

返回结果: 199

结束时间: 1084968123036

时间消费: 188

开始时间: 1084968123036

返回结果: 199

结束时间: 1084968123223

时间消费: 187

通过JSP来调用Web Service

  • 将JBuilder9通过导入WSDL文件生成的类,打包成Client.jar。



    上图是要打包的类文件的目录结构,使用如下命令完成打包操作:
    jar -cvf Client.jar org

  • 在JBuilder9的安装目录的LIB子目录下,查找如下类包(axis.jar、commons-discovery.jar 、jaxrpc.jar、log4j-1.2.8.jar、commons-logging.jar、saaj.jar、wsdl4j.jar)。

  • 编写JSP测试代码,并将其打包生成测试的WEB应用。



    上图是要打包的Web应用的目录结构,使用如下命令完成打包操作:
    jar -cvf DefaultWebApp.war DefaultWebApp

  • 然后通过http://localhost:7001/index.jsp 就可以测试Web Service了。

  • JSP测试源代码

    <%@ page contentType="text/html; charset=GBK" %>
    <%@ page import="java.util.*" %>
    <%@ page import="org.tempuri.*" %>
    <%
            long startW = Calendar.getInstance().getTime().getTime();
            for (int i = 0; i < 3; i++) {
                try {
                    //定位WSDL文件的位置
                    Service1Locator sl = new Service1Locator();
                    //获得Web Service的引用
                    Service1Soap ss = (Service1Soap) sl.getService1Soap();
                    //通过记录开始和结束的时间,来测试Web服务调用所花费的时间
                    long start = Calendar.getInstance().getTime().getTime();
                    System.out.println("开始时间 : " + start);
                    //调用Web Service提供的功能方法
                    int result = ss.add(100, 99);
                    System.out.println("返回结果: " + result);
                    long end = Calendar.getInstance().getTime().getTime();
                    System.out.println("结束时间: " + end);
                    System.out.println("时间消费: " + (end - start));
                }
                catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
    %>


    注:所需的JAR包,一定要在应用服务器启动时加载,否则JSP文件编译不过。

    参考资料

    JBuilder9帮助文件
    http://www.w3.org/2002/ws/
    http:// www-900.ibm.com/developerWorks/cn/webservices/ ws-wsar/part2/index.shtml

    作者简介

    夏治(Tim),毕业于沈阳工业大学,学士学位,毕业后一直从事软件开发工作,对WEB程序设计有一定的见解,研究JAVA程序设计有近年的时间,通过了SUN公司的SCJP认证,对JAVA有一定程度的了解。现在深圳一家IT企业工作,从事JAVA程序开发工作。足球是我一生的最爱,没有办法想象,没有足球的日子将会是什么样子。与我联系:sucre_tiger@sina.com sucre_tiger@sina.com .

  •  
        

    版权所有:UML软件工程组织