关闭

发送xml数据和调用webservice

31人阅读 评论(0) 收藏 举报
分类:

刚开始学习安卓,对照视频在Android Studio平台下练习项目,实现手机号码归属地查询。过程中遇到两个问题:

一:找不到资源文件

视频讲解是在eclipse平台,资源文件直接放到src根下面就可以。而我把资源文件soap12.xml放到java根路径下,以及放到当前包下,死活得不到文件,提示inStream为null。如下:

InputStream inStream = AddressService.class.getClassLoader().getResourceAsStream("soap12.xml"); //AddressService为自定义的业务类

不知道是不是类加载器的使用方式问题还是路径问题。

把soap12.xml文件放到res/raw下,换成以下方法来获取,结果成功:

InputStream inStream = context.getResources().openRawResource(R.raw.soap12);

需要说明的是,getResource()是Activity的函数,若自定义的类没有继承Activity的话就无法使用该API,故需要建一个构造器,然后把Activity传给该类。


二:请求网络数据不成功

原来的代码:

//        HttpURLConnection conn = (HttpURLConnection) new URL(path).openConnection();
//        conn.setConnectTimeout(5000);
//        conn.setRequestMethod("POST");
//        conn.setDoOutput(true);
//        conn.setRequestProperty("Content-Type", "application/soap+xml; charset=utf-8");
//        conn.setRequestProperty("Content-Length", String.valueOf(entity.length));
//        conn.getOutputStream().write(entity);
//        if(conn.getResponseCode() == 200){
//            return parseSOAP(conn.getInputStream());
//        }
//        return null;
修改后的代码:   
new Thread(new Runnable(){ public void run() {
    try{
        HttpURLConnection conn = (HttpURLConnection) new URL(path).openConnection();
        conn.setConnectTimeout(5000);
        conn.setRequestMethod("POST");
        conn.setDoOutput(true);
        conn.setRequestProperty("Content-Type", "application/soap+xml; charset=utf-8");
        conn.setRequestProperty("Content-Length", String.valueOf(entity.length));
        conn.getOutputStream().write(entity);
        if(conn.getResponseCode() == 200){
           final String str =  parseSOAP(conn.getInputStream());
            result = str;
        }
    }catch(Exception e){
        e.printStackTrace();
    }
}}).start();
return result;
   //以上代码放到线程里面就可以了!

视频讲解同样请求非本机上的网络数据,没有放到线程里面就成功了。不知道为什么,以后请求网路资源就重开一个线程好了!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:32次
    • 积分:10
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档