您的位置:首页 > 编程语言 > Java开发

java调用免费webservice

2016-06-16 22:59 387 查看
百度搜索



打开一个免费ws,在连接后加:?wsdl



把http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl复制到eclipse javaee的ws工具





开发客户端

新建java项目

 创建客户端应用编码方式访问

– 借助jdk的wsimort.exe工具生成客户端代码:

wsimport -keep url   //url为wsdl文件的路径



刷新项目



写客户端测试代码

package com.me.wsphone.test;

import cn.com.webxml.MobileCodeWS;
import cn.com.webxml.MobileCodeWSSoap;

public class PhoneWsTest {
public static void main(String[] args) {
MobileCodeWS mobileCodeWS = new MobileCodeWS();
MobileCodeWSSoap mobileCodeWSSoap = mobileCodeWS.getMobileCodeWSSoap();
String mobileCodeInfo = mobileCodeWSSoap.getMobileCodeInfo("15109914927", null);
System.out.println(mobileCodeInfo);
}
}
结果



调用免费天气webservice

新建java项目ws_weather

借助jdk的wsimort.exe工具生成客户端代码 出错



天气预报的那个接口有点不同。如果我们直接使用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文件,就可以正常使用了。



刷新代码



写客户端测试代码

package com.me.weather.ws.test;

import java.util.List;

import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWS;
import cn.com.webxml.WeatherWSSoap;

public class WeatherWSTest {
public static void main(String[] args) {
WeatherWS weatherWS = new WeatherWS();
WeatherWSSoap weatherWSSoap = weatherWS.getWeatherWSSoap();
ArrayOfString cityString = weatherWSSoap.getWeather("沙县", null);
List<String> arrStr = cityString.getString();
System.out.println(arrStr);
}
}

结果
[福建 三明, 沙县, 2200, 2016/06/16 22:53:45, 今日天气实况:气温:22℃;风向/风力:西北风 1级;湿度:96%, 紫外线强度:弱。空气质量:优。, 紫外线指数:弱,辐射较弱,涂擦SPF12-15、PA+护肤品。

感冒指数:少发,感冒机率较低,避免长期处于空调屋中。

穿衣指数:热,适合穿T恤、短薄外套等夏季服装。

洗车指数:不宜,有雨,雨水和泥水会弄脏爱车。

运动指数:较不宜,有较强降水,请在室内进行休闲运动。

空气污染指数:优,气象条件非常有利于空气污染物扩散。

, 6月16日 大雨转中雨, 23℃/30℃, 无持续风向微风, 9.gif, 8.gif, 6月17日 大雨转中雨, 22℃/28℃, 无持续风向微风, 9.gif, 8.gif, 6月18日 大雨转阵雨, 22℃/28℃, 无持续风向微风, 9.gif, 3.gif, 6月19日 雷阵雨转多云, 24℃/35℃, 无持续风向微风, 4.gif, 1.gif, 6月20日 多云, 24℃/36℃, 无持续风向微风, 1.gif, 1.gif]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: