如何调用webservice服务端

webservice调用方式:
webservice实际是通过网络根据soap的协议传输数据,我们不可能自己去组装消息体。太麻烦。

1、wsimport:
参数: -s 生成源代码 -p 生成代码后的包名
步骤: 找一个文件夹
通过命令行,切换到文件夹目录
执行:wsimport -s . -p com.zzq.stub http://192.168.43.160:8099/hello?wsdl
2、把代码拷贝到客户端工程中

这个命令是jdk提供的webservice生成客户端组装消息体的源代码
如何调用webservice服务端_第1张图片

客户端源代码生成后进行调用

package client;

import com.zzq.stub.PersonService;
import com.zzq.stub.PersonServiceService;

/**
 * @ClassName Client
 * @Description
 * @Author 周志强
 * @Date 2021/4/4 23:00
 * @Version 1.0
 */
public class Client {
    public static void main(String[] args) {
        //1、创建服务访问点的集合对象
        PersonServiceService pss = new PersonServiceService();
        //2、获得服务访问点绑定的类,使用get加上port的名字(PersonServicePort)
        PersonService ps = pss.getPersonServicePort();
        String result = ps.sayHello("周志强");
        System.out.println(result);
    }
}

webservice练习

查找电话号码来源

进入网站http://www.webxml.com.cn/zh_cn/web_services.aspx
找一个wsdl ,然后生成客户端源代码

  • 客户端调用
package client;

import com.zzq.stub.MobileCodeWS;
import com.zzq.stub.MobileCodeWSSoap;

/**
 * @ClassName Client
 * @Description
 * @Author 周志强
 * @Date 2021/4/4 23:32
 * @Version 1.0
 */
public class Client {
    public static void main(String[] args) {
        MobileCodeWS mcw = new MobileCodeWS();
        MobileCodeWSSoap mw = mcw.getMobileCodeWSSoap();
        String result = mw.getMobileCodeInfo("电话号码", "");
        System.out.println(result);
    }
}

天气预报

直接调用网络的wsdl会报错,解决方法是把网络wsdl文件下载下来,然后删除报错行

如何调用webservice服务端_第2张图片

调用本地wsdl文件
如何调用webservice服务端_第3张图片

  • 客户端代码
package client;

import com.weather.stub.ArrayOfString;
import com.weather.stub.WeatherWS;
import com.weather.stub.WeatherWSSoap;

import java.util.List;

/**
 * @ClassName Client
 * @Description
 * @Author 周志强
 * @Date 2021/4/5 00:33
 * @Version 1.0
 */
public class Client {
    public static void main(String[] args) {
        WeatherWS ws = new WeatherWS();
        WeatherWSSoap wsSoap = ws.getWeatherWSSoap();
        ArrayOfString weather = wsSoap.getWeather("1321", "");
        List<String> string = weather.getString();
        for (String s : string) {
            System.out.println(s);
        }
    }
}
  • 结果
甘肃 天水
天水
1321
2021/04/05 00:30:41
今日天气实况:气温:7℃;风向/风力:东风 2级;湿度:74%
紫外线强度:最弱。
中国人民保险风寒指数:冷,感觉有点冷,室外活动要穿厚实一点,年老体弱者要适当注意保暖。
健臻·血糖指数:易波动,气温多变,血糖易波动,请注意监测。
穿衣指数:冷,建议着棉衣加羊毛衫等冬季服装。
洗车指数:不宜,有雨,雨水和泥水会弄脏爱车。
紫外线指数:最弱,辐射弱,涂擦SPF8-12防晒护肤品。

44 小雨
4/7
东南风转南风小于3
7.gif
7.gif
45 多云转晴
5/17
南风3-4级转东南风小于3
1.gif
0.gif
46 晴转阴
8/16
北风转东北风小于3
0.gif
2.gif
47 多云转阴
7/14
东风转东南风小于3
1.gif
2.gif
48 
7/16
南风小于3
2.gif
2.gif

你可能感兴趣的:(WebService,webservice)