android怎么访问天气webservice,用网上找的连接都不行啊

====================问题描述==================== 作个天气预报的小测试用网上找的连接怎么不行,有作过的指导下。感激涕零!!  求用法或可用连接!!!!!!!!!! http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx  和  http://www.webxml.com.cn/webservices/weatherwebservice.asmx  都是不行的!跟着网上例子作的。  错误:  11-13 19:27:10.545: W/System.err(29917): java.net.UnknownHostException: Unable to resolve host "webservice.webxml.com.cn": No address associated with hostname  11-13 19:27:10.545: W/System.err(29917):  at java.net.InetAddress.lookupHostByName(InetAddress.java:426)  11-13 19:27:10.545: W/System.err(29917):  at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)  11-13 19:27:10.545: W/System.err(29917):  at java.net.InetAddress.getAllByName(InetAddress.java:220)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:71)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpEngine.connect(HttpEngine.java:303)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)  11-13 19:27:10.545: W/System.err(29917):  at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)  11-13 19:27:10.545: W/System.err(29917):  at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:46)  11-13 19:27:10.545: W/System.err(29917):  at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:68)  11-13 19:27:10.550: W/System.err(29917):  at com.testtv.core.WeatherActivity.getWeather(WeatherActivity.java:102)  11-13 19:27:10.550: W/System.err(29917):  at com.testtv.core.WeatherActivity$2$1.run(WeatherActivity.java:76) 11-13 19:27:10.550: W/System.err(29917):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)  11-13 19:27:10.550: W/System.err(29917):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)  11-13 19:27:10.550: W/System.err(29917):  at java.lang.Thread.run(Thread.java:856)  11-13 19:27:10.550: W/System.err(29917): Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)  11-13 19:27:10.550: W/System.err(29917):  at libcore.io.Posix.getaddrinfo(Native Method) 11-13 19:27:10.550: W/System.err(29917):  at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)  11-13 19:27:10.550: W/System.err(29917):  at java.net.InetAddress.lookupHostByName(InetAddress.java:411)     代码:  package com.testtv.core;  import java.io.UnsupportedEncodingException; import java.util.concurrent.Executor; import java.util.concurrent.Executors;  import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast;  public class WeatherActivity extends Activity {  /** Called when the activity is first created. */  private Button okButton;  /** Called when the activity is first created. */  private static final String NAMESPACE = "http://WebXml.com.cn/";   // WebService地址  private static String URL = "http://www.webxml.com.cn/webservices/weatherwebservice.asmx";  private static final String METHOD_NAME = "getWeatherbyCityName";  private static String SOAP_ACTION = "http://WebXml.com.cn/getWeatherbyCityName";  private String weatherToday;  private SoapObject detail;    private Handler webHandler;  private final static String TAG = "WeatherActivity";  private final static int SHOW_WEATHER=10;      private Executor webExcutor;     @Override  protected void onCreate(Bundle savedInstanceState) {   // TODO Auto-generated method stub   super.onCreate(savedInstanceState);   setContentView(R.layout.weather);             this.webHandler=new Handler()         {    @Override    public void handleMessage(Message msg) {     // TODO Auto-generated method stub     if(msg.what==SHOW_WEATHER)     {      try {       parseWeather(detail);      } catch (UnsupportedEncodingException e) {       // TODO Auto-generated catch block       e.printStackTrace();      }     }    }                   };   okButton = (Button) this.findViewById(R.id.btn_Search);   okButton.setOnClickListener(new Button.OnClickListener() {    public void onClick(View v) {     final String city = "北京";     if(webExcutor==null)     {      webExcutor=Executors.newFixedThreadPool(1);     }     webExcutor.execute(new Runnable() {            public void run() {       // TODO Auto-generated method stub       getWeather(city);      }     });    }    });  }   public void getWeather(String cityName) {   try {    System.out.println("rpc------");    SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);    System.out.println("rpc" + rpc);    System.out.println("cityName is " + cityName);    rpc.addProperty("theCityName", cityName);     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);    envelope.bodyOut = rpc;    envelope.dotNet = true;    envelope.setOutputSoapObject(rpc);     HttpTransportSE ht = new HttpTransportSE(URL);     // AndroidHttpTransport ht = new AndroidHttpTransport(URL);    ht.debug = true;     ht.call(SOAP_ACTION, envelope);    // ht.call(null, envelope);     // SoapObject result = (SoapObject)envelope.bodyIn;    // detail = (SoapObject)    // result.getProperty("getWeatherbyCityNameResult");     detail = (SoapObject) envelope.getResponse();     Log.d(TAG,  detail.toString());        Message msg = new Message();    msg.what=SHOW_WEATHER;    webHandler.sendMessage(msg); //   Toast.makeText(this, detail.toString(), Toast.LENGTH_LONG).show();         return;   } catch (Exception e) {    e.printStackTrace();   }  }   private void parseWeather(SoapObject detail) throws UnsupportedEncodingException {   String date = detail.getProperty(6).toString();   weatherToday = "今天:" + date.split("")[0];   weatherToday = weatherToday + "\n天气:" + date.split("")[1];   weatherToday = weatherToday + "\n气温:" + detail.getProperty(5).toString();   weatherToday = weatherToday + "\n风力:" + detail.getProperty(7).toString() + "\n";   System.out.println("weatherToday is " + weatherToday);   Toast.makeText(this, weatherToday, Toast.LENGTH_LONG).show();   } }  都是网上找的,大拿们速来救火!!   ====================解决方案1==================== 这两个接口都已经失效了,无法访问,你找个能用的,用浏览器就能够测试 ====================解决方案2==================== 楼主如今解决了吗?求解 ====================解决方案3====================  网络权限开了吗 ====================解决方案4==================== 看看有没有返回数据就清楚了 ====================解决方案5==================== Unable to resolve host "webservice.webxml.com.cn": No address associated with hostname  这个意思是域名解析不正常,确信网络OK? ====================解决方案6==================== 这个网站如今应用普遍吗? 看了一下他们的接口文档,真心以为不怎么样啊,没有一点作开放平台的水准。。。。,
相关文章
相关标签/搜索