zoukankan      html  css  js  c++  java
  • 使用命令wsimport构建WebService客户端

    原文:http://www.cnblogs.com/ningvsban/p/3760085.html

    wsimport命令介绍

      在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService提供的方。该工具可以用于非Java的服务器,

    如:用C#编写的WebService,通过wsimport则生成Java的客户端实现。对于命令的使用方法,我们以开放的中文简体字与繁体字转换Web Service接口为例,如下:

      在命令提示符中使用如下命令:

    wsimport -keep -p com.zhj2f.client http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl
      命令参数说明(这里直接介绍比较常用的):
        |  -d:生成客户端执行类的class文件的存放目录
        |  -s:生成客户端执行类的源文件的存放目录
        |  -p:定义生成类的包名
      使用wsimport命令后,我们可以得到相应的代码文件,将其拷贝到你的项目中,即可使用,目录树结构如下所示:
      测试:新建工程,并将com.zhj2f.client包拷到工程文件下,编写测试文件test.java,代码如下:
    package test;
    
    import com.zhj2f.client.TraditionalSimplifiedWebService;
    import com.zhj2f.client.TraditionalSimplifiedWebServiceSoap;
    
    public class test {
        public static void main(String args[]){
            
            TraditionalSimplifiedWebService tsws = new TraditionalSimplifiedWebService();
            TraditionalSimplifiedWebServiceSoap tss = tsws.getTraditionalSimplifiedWebServiceSoap();
            
            String res = tss.toTraditionalChinese("我是谁");
            System.out.println(res);
        }
    }

      当然我们还可以使用上面同样的方法调用天气预报提供的开放webservice接口,只是天气预报的那个接口有点不同。如果我们直接使用wsimport 通过wsdl地址生存java 文件时,会报错。因为该wsdl里面包含 ref = "s:schema" 这样的引用。而jaxb是不支持的。所以手动将该wsdl下载(也就是网页另存为)下来做下修改,然后再生成java文件。

      修改方法为:将所有的<s:element ref="s:schema"/> 改成 <s:any minOccurs="2" maxOccurs="2"/>,并且删除<s:any/>。

      然后再通过wsimport生成java文件,就可以正常使用了。

    参考资料:

      [1] http://www.cnblogs.com/simle/archive/2011/11/03/2233417.html

      [2] http://blog.csdn.net/lun379292733/article/details/18035915

      [3] 常用Web Service汇总

  • 相关阅读:
    PHP5.6 和PHP7.0区别
    怎么清除火狐浏览器的cookie?
    PHP 7.0新增特性详解
    一个较好的基础的数据库连接池知识 规格严格
    Iptables 规格严格
    收藏一个Man网址 规格严格
    AIX配置SNMP V3 规格严格
    Tomcat Firewall JMX RMI 规格严格
    在来一个IPTables 规格严格
    java.lang.ClassNotFoundException: listeners.ContextListener . 规格严格
  • 原文地址:https://www.cnblogs.com/xbq8080/p/6554397.html
Copyright © 2011-2022 走看看