webservice客户端生成过程

注明:

使用工具 :wsimport

在JDK的bin文件夹中,有一个wsimport.exe工具,可依据wsdl文件生成相应的类文件,将生存在本地这些类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用webService提供的方法。该工具可以用于非Java的服务器,如用C#编写的WebService,通过wsimport则生成Java的客户端实现。

常用命令如下:

C:\Program Files\Java\jdk1.8.0_101\bin>wsimport -keep -s D:\webserviceTQ\s -p com.cn.weather -verbose C:\Users\zhangwensen\Desktop\WeatherWS.xml

-keep:是否生成java源文件

-d:指定.class文件的输出目录

-s:指定.java文件的输出目录

-p:定义生成类的包名,不定义的话有默认包名

-verbose:在控制台显示输出信息

-b:指定jaxws/jaxb绑定文件或额外的schemas

-extension:使用扩展来支持SOAP1.2

 

1.拿到webservice的地址,比如http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl  

 下载到xml文件到本地 WeatherWS.xml

2.将所有的<s:element ref="s:schema" />
                  <s:any />改成 <s:any minOccurs="2" maxOccurs="2"/>,一共有三处需要修改,建议查找<s:element ref="s:schema" />,修改时把<s:any />也要删掉

3.运行命令 

wsimport -keep -s D:\webserviceTQ\s -p com.cn.weather -verbose C:\Users\zhangwensen\Desktop\WeatherWS.xml

4.将代码复制到src文件夹下

5.编写测试类

package com.cn.weather;

import java.util.List;

public class WeatherWsClient {

    public static void main(String[] args) {
         //创建一个WeatherWS工厂  
        WeatherWS  ws = new WeatherWS ();
        //根据工厂创建一个WeatherWSSoap对象  
        WeatherWSSoap weatherWSSoap = ws.getWeatherWSSoap();
        //调用WebService提供的getWeather方法获取广州市的天气预报情况  
        ArrayOfString weatherInfo = weatherWSSoap.getWeather("广东", "");
        List<String> weatherList = weatherInfo.getString();
        //遍历天气预报信息 
        for(String str : weatherList) { 
            System.out.println(str);
            System.out.println("--------------");
        }
        
        ArrayOfString s = weatherWSSoap.getRegionProvince();
         List<String> list = s.getString();  
         for (String string : list) {  
               System.out.println(string);  
               System.out.println("------------------------");  
         }  
    }

}

 


 

转载于:https://my.oschina.net/u/2285090/blog/1579532

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值