原文: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汇总

使用命令wsimport构建WebService客户端的更多相关文章

  1. 【webservice】使用命令wsimport构建WebService客户端

    wsimport命令介绍 在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService提供的方 ...

  2. java使用命令wsimport构建WebService客户端

    wsimport -d d: -keep -extension -p com.demo.client http://192.168.33.3//RECEPTIONws.ASMX?WSDL 客户端:在J ...

  3. 使用命令wsimport生成WebService客户端

    使用命令wsimport生成WebService客户端 wsimpost命令有几个重要的参数: -keep:是否生成java源文件    -d:指定输出目录    -s:指定源代码输出目录    -p ...

  4. 使用wsimport生成webservice客户端代码

    服务端 package com.xc.webservice; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebServic ...

  5. JAX-WS(二)之使用wsimport创建WebService客户端

    客户端开发的通常过程是从已有的WSDL处罚,创建辅助类JAXB对象和Service代理类,然后基于这些类开发自己的客户端应用. 开发步骤: 创建eclipse项目: 运行wsimport命令生成客户端 ...

  6. cxf构建webservice的两种方式

    一.简介 对于基于soap传输协议的webservice有两种开发模式,代码优先和契约优先的模式.代码优先的模式是通过编写服务器端的代码,使用代码生成wsdl:契约优先模式首先编写wsdl,再通过ws ...

  7. WebService客户端(以命令方式创建)

    以命令的方式生成WebService客户端: 创建一个Project项目,客户端项目名称WS_Client,在cmd界面进入JDK的bin目录,输入以下命令 完整格式: C:\Program File ...

  8. WebService客户端几种实现方式

    1.jdk原生调用(需要获取服务接口文件) import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Ser ...

  9. SpringBoot | 第三十四章:CXF构建WebService服务

    前言 上一章节,讲解了如何使用Spring-WS构建WebService服务.其实,创建WebService的方式有很多的,今天来看看如何使用apache cxf来构建及调用WebService服务. ...

随机推荐

  1. mac上php+nginx配置

    brew的安装: ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”php安装和配置bre ...

  2. ansible unarchive模块

    unarchive模块:http://docs.ansible.com/ansible/unarchive_module.html 功能:解压缩,这个模块有两种用法: 1.将ansible主机上的压缩 ...

  3. WPF教程四:布局之DockPanel面板

    DockPanel:停靠面板 DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中.停靠面板类似于WinForm中控件的Dock属性.D ...

  4. 谈API网关的背景、架构以及落地方案

    Chris Richardson曾经在他的博客上详细介绍过API网关,包括API网关的背景.解决方案以及案例.对于大多数基于微服务的应用程序而言,API网关都应该是系统的入口,它会负责服务请求路由.组 ...

  5. jQuery的Cookie操作插件

    jQuery的cookie插件 01 // jQuery.cookie.js 02 jQuery.cookie = function(name, value, options) { 03     if ...

  6. 关于Struts2有时候出现的莫名其妙的错误

    有的时候突然出现红色叉叉,但是又不知道哪里错了,解决方法: 1.刷新项目文件夹 2.重启MyEclipse

  7. tensorflow函数学习笔记

    https://www.w3cschool.cn/tensorflow_python/tensorflow_python-4isv2ez3.html tf.trainable_variables返回的 ...

  8. strcpy、strncpy、memcpy的区别

    一.strcpy.strncpy区别 struct gpInfo { char gpcode[9]; char gpName[50]; }; string gpstr = "SZ000001 ...

  9. mongodb自动关闭:页面太小,无法完成操作

    解决方法: 增大虚拟内存

  10. Xenocode Postbuild 2010 for .NET 混淆工具的详细使用步骤【转】

    1,首先我们需要去下载这个工具去,我这里倒是有一个下载的网址,已经被破解了,而且有序列号 http://download.csdn.net/tag/Xenocode+Postbuild+2010+fo ...