zoukankan      html  css  js  c++  java
  • 编写Web Serviceclient訪问www.webxml.com.cn提供的服务

    好久没更新博客了,近期各种忙。

    之前做Web Service课程的作业,当中有一个实验。实验内容如题所看到的。

    以下简单说下怎样编写Web Serviceclient訪问webxml.com.cn里的Web Service。


    1.使用wsimport依据wsdl生成client程序

    假设你已经下载好JDK,那么能够在JDK文件夹下看到一个wsimport的程序:

    注意要把JDK的bin路径加入到系统环境变量中。


    打开www.webxml.com.cn。选择一个你想要使用的Web Service。找到其wsdl文件地址,比如:


    然后随便进入一个文件夹,比如src,执行例如以下命令:

    wsimport -keep -p client WSDL文件所在网址

    当中-p client表示生成的java文件输入到src/client文件夹下。后面的网址为Web Service的wsdl文件地址。

    执行结果例如以下:

    注意上面可能会出现一些WARNING。这与SOAP的版本号有关,其实这并不会影响到后面程序的执行。

    能够看到在src/client文件夹下生成了一大堆.java和.class文件:



    2.配置Eclipseproject

    打开Eclipse。新建一个Dynamic Web Project项目,将以上的client文件夹拷贝到project的src文件夹下。


    前往该网址下载网址上的jar文件,并使用下面命令解压:

    java -jar JAXWS2.1.2-20070917.jar

    将解压后lib文件夹下的全部jar文件拷贝到project的WebContent/WEB-INF/lib文件夹下。

    按F5刷新,project文件夹大致例如以下:



    3.编写调用Web Service的client程序

    在Client Package中新建一个WSClient类。该类用于调用已经生成的Web Service客户端程序,代码例如以下:
    package client;
    
    import client.QqOnlineWebService;
    import client.QqOnlineWebServiceSoap;
    
    public class WSClient {
            public static String main(String qq) {
                    QqOnlineWebService service = new QqOnlineWebService();
                    QqOnlineWebServiceSoap soap = service.getQqOnlineWebServiceSoap();
                    String isOnline = soap.qqCheckOnline(qq);
                    return (qq + "是否在线?" + isOnline);
            }
    }


    新建一个Check.jsp,该页面用于收集用户的输入,代码例如以下:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Welcome</title>
    </head>
    <body>
    <form action="Result.jsp" method="get">
      <p>请输入您的扣扣号: <input type="text" name="qq" /></p>
      <input type="submit" value="查询" />
    </form>
    </body>
    </html>


    另外再新建一个Result.jsp,该页面用于显示用户输入的扣扣的在线状态。代码例如以下:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="client.*" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>查询结果</title>
    </head>
    <body>
    <%
    String qq = request.getParameter("qq");
    out.println(WSClient.main(qq));
    %>
    </body>
    </html>


    最后在WEB-INF中新建一个web.xml文件,该文件配置Web App的初始页面。主要代码例如以下:
    <welcome-file-list>
        <welcome-file>Check.jsp</welcome-file>
    </welcome-file-list>


    执行结果例如以下:



    有兴趣的能够部署下程序。输入自己的扣扣玩下。


  • 相关阅读:
    浅谈一致性Hash原理及应用
    学习sql中的排列组合,在园子里搜着看于是。。。
    SQL Server DAC——专用管理员连接
    通过phantomjs 进行页面截图
    《javascript算法--对象的比较》
    React-生命周期的相关介绍
    常用的谷歌插件
    webpack的externals的使用
    mac 10.12显示隐藏文件
    “文字”聚合、散出动画-转自奇舞团
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6829525.html
Copyright © 2011-2022 走看看