Java调用webservice 天气预报

◇◆丶佛笑我妖孽 提交于 2020-08-18 21:19:58
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

import javax.xml.namespace.QName;
import java.util.Vector;


public class WeatherReport {
    public static void main(String[] args) {
        try {

            String endpoint = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
            Service service = new Service();
            Call call = (Call) service.createCall();// 通过service创建call对象

            // 设置service所在URL

            call.setTargetEndpointAddress(new java.net.URL(endpoint));

            call.setOperationName(new QName("http://WebXml.com.cn/", "getWeatherbyCityName"));
            call.addParameter(new QName("http://WebXml.com.cn/", "theCityName"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);

            call.setUseSOAPAction(true);

            call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_VECTOR); //返回参数的类型(不能用Array,否则报错)

            call.setSOAPActionURI("http://WebXml.com.cn/getWeatherbyCityName");

            Vector ret = (Vector) call.invoke(new Object[]{"大庆"});

            System.out.println("--------" + ret);

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!