package com.service;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
/**
* 类功能描述:调用天气预报 Service
* 调用 SERVICE_URL 地址中的方法,
* 1.修改调用方法 methodName
* 2.添加调用参数
* Create: 2016-12-9 上午9:18:13
*
* getWeather 此方法未成功,初步判断,传值错误
*/
public class WeatherService {
static String SERVICE_NS="http://WebXml.com.cn/";
static String SERVICE_URL="http://www.webxml.com.cn/WebServices/WeatherWS.asmx";
public static void main(String[] args) {
System.out.println(getWeatherbyCityName("1"));
}
public static SoapObject getWeatherbyCityName(String province) {
调用的方法
String methodName = "getWeather";
// 创建httptransportSE传输对象
HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);
ht.debug = true;
// 实例化SoapObject对象
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
/ 添加一个请求参数
soapObject.addProperty("theCityCode", 3643);
// 使用soap1.1协议创建envelop对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = soapObject;
// 设置与.NET提供的webservice保持较好的兼容性
envelope.dotNet = true;
// 调用webservice
try {
ht.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null) {
// 获取服务器响应返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
// 解析服务器响应的SOAP消息
System.out.println(detail);
// parseProvinceOrCity(detail);
}
}
catch ( Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
Java 天气预报WebService
最新推荐文章于 2024-03-25 13:17:43 发布