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

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汇总

【webservice】使用命令wsimport构建WebService客户端,布布扣,bubuko.com

时间: 2024-10-15 05:49:38

【webservice】使用命令wsimport构建WebService客户端的相关文章

使用命令wsimport构建WebService客户端

服务端:请看我的上一篇博文(Java使用XFire调用WebService接口) 客户端:在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService提供的方.该工具可以用于非Java的服务器,如:用C#编写的WebService,通过wsimport则生成Java的客户端实现. 在命令提示符中使用如下命令:wsimport -keep -p com.demo.client http://l

webservice发布服务:CXF及客户端调用

2.CXF:(与spring整合) CXF相对来说操作没有AXIS繁琐 1.导入spring的jar包和cxf的jar包 2.在spring的核心配置文件中配置发布的接口类 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.o

cxf构建webservice的两种方式

一.简介 对于基于soap传输协议的webservice有两种开发模式,代码优先和契约优先的模式.代码优先的模式是通过编写服务器端的代码,使用代码生成wsdl:契约优先模式首先编写wsdl,再通过wsdl生成服务器端的代码.对于代码优先的模式在使用cxf构建webservice 一文中已经做出介绍,这里主要介绍第二种方式. 二.wsdl文件结束 一般wsdl文件结构如下: <?xml version='1.0' encoding='UTF-8'?> <wsdl:definitions x

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

前言 上一章节,讲解了如何使用Spring-WS构建WebService服务.其实,创建WebService的方式有很多的,今天来看看如何使用apache cxf来构建及调用WebService服务. 前言 一点知识 何为Apache-CXF 关于JAX-WS规范 常用注解介绍 SpringBoot整合CXF实例 服务端构建 客户端调用 异常捕获 自定义拦截器 服务端拦截器 客户端拦截器 参考资料 总结 最后 老生常谈 一点知识 何为Apache-CXF Apache CXF是一个开源的Serv

Linux安装Axis C构建WebService服务

在安装Axis C++之前有两个组件是必须安装的,分别是Apache HTTP Server以及用于处理XML的程序Xerces:为了编译Axis以及Apache HTTPD,你的Linux机器还应该装有gcc编译器. 3个部件的都采用源码安装,它们都有类似的步骤: 上传并解压安装包 设置环境变量 利用configure生成Makefile 编译安装到usr/local/对应目录下 本文部署路径为apache安装在/usr/local/apache2,Axis2C 1.6 安装到/usr/loc

xfire构建webservice项目步骤以及使用

简单搭建xfire开源软件的webservice开发及其步骤: 1.创建好一个web工程,引入xfire下的jar包,注意lib下的和xfire-all.jar 2.定义接口: Java代码   package com.iteye.webservice; public interface IHelloService { public String sayHelleWorld(String inputStr); }3.接口实现: Java代码   package com.iteye.webserv

WebService的helloworld,服务器端与客户端的Demo(转)----自己建立的Web Project , 而不是Web Service Project,利用WSDD 自己发布

WebService的helloworld,服务器端与客户端的Demo http://blog.csdn.net/angus_17/article/details/8032856 今天突然兴起,想学学webService,然后就找找资料,做了个简单的DEMO.先记录下来,以便日后使用. 首先,先说点理论上的东西. WebService又是一种高级应用,与之前学习的Struts.Spring.Hibernate等框架不同.WebService是面向服务的架构(SOA),看起来像是比SSH框架要大.

WebService服务端获取访问的客户端IP

WebService服务端获取 访问的客户端IP: @WebService(serviceName = "XXXService", targetNamespace ="http://ws.sms.zjapl.com") public class XXXWebServiceImpl implements XXXWebService { @Resource(name ="org.apache.cxf.jaxws.context.WebServiceContex

WebService应用--使用java开发WebService程序

使用Eclipse开发第一个WebService程序,本示例采用的工具为Spring-Tool-Suite,和Eclipse没有本质的区别,开发环境jdk1.7 一.开发步骤: 1.新建名为WebService项目 新建HelloService类,放在com.test.webservice包下 下面进行服务端程序的编写: 1 package com.test.webservice; 2 import javax.jws.WebService; 3 import javax.xml.ws.Endp