List<MFirst> list=null;
    public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);  
     //setContentView(R.layout.main);    
//     MFirstManager mfirstmanager=new MFirstManager();
     list=new ArrayList<MFirst>();
    
    
     SoapObject request = new SoapObject("http://tempuri.org/", "GetAllMFirst");  
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);   
       
        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);
        AndroidHttpTransport  ht = new AndroidHttpTransport("http://192.168.1.70/AndroidService/AndroidService.asmx");
        ht.debug=true;
        //(new MarshalBase64()).register(envelope);//放在没错
         try {
                                      //报这个android.os.NetworkOnMainThreadException  错误
 ht.call("http://tempuri.org/GetAllMFirst",envelope);
         SoapObject soapObject = (SoapObject) envelope.getResponse(); 
         if(soapObject.getName()=="anyType")
         {
         for(int i=0;i<soapObject.getPropertyCount();i++)
         {
          MFirst m=new MFirst();
          SoapObject soapChilds =(SoapObject)soapObject.getProperty(i);
          m.setAutoId(soapChilds.getProperty("AutoId").toString());
          m.setFirstName(soapChilds.getProperty("FirstName").toString());
          m.setFirstImg(soapChilds.getProperty("FirstImg").toString());
          m.setFirstKjid(Integer.parseInt(soapChilds.getProperty("FirstKjid").toString()));
          list.add(m);
         }
         }
         }catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();

}
    

解决方案 »

  1.   

    就到 ht.call("http://tempuri.org/GetAllMFirst",envelope);就出错了。
      

  2.   

    错误解决啦。是版本问题。上面代码完全可以在2.2以下的版本跑起来...
    我现在用3.0,3.0以上新添加了控制,要加一些官方的代码,网站发给大家,大家可以去看看
    老外的东西我也不大看的懂感觉差多不就试试,现在OK了。。代码给大家分享下...public class MFirstManager {

    List<MFirst> list=null;
    public void onCreate() { 
        
             StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() 
                     .detectDiskReads() 
                     .detectDiskWrites() 
                     .detectNetwork()   // or .detectAll() for all detectable problems 
                     .penaltyLog() 
                     .build()); 
             StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() 
                     .detectLeakedSqlLiteObjects() 
                     .detectLeakedClosableObjects() 
                     .penaltyLog() 
                     .penaltyDeath() 
                     .build()); 
         } 
    //获得所有的一级菜单
    public List<MFirst> GetAllMFirst()
    {
    onCreate();
             list=new ArrayList<MFirst>();
            
                 SoapObject request = new SoapObject("http://tempuri.org/", "GetAllMFirst");  
                    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);   
                   
                    envelope.dotNet = true;
                    envelope.setOutputSoapObject(request);
                    AndroidHttpTransport  ht = new AndroidHttpTransport("http://192.168.1.70/AndroidService/AndroidService.asmx");
                    (new MarshalBase64()).register(envelope);//放在没错
                     try {
              ht.call("http://tempuri.org/GetAllMFirst",envelope);
                      SoapObject soapObject = (SoapObject) envelope.getResponse(); 
                      if(soapObject.getName()=="anyType")
                      {
                      for(int i=0;i<soapObject.getPropertyCount();i++)
                      {
                       MFirst m=new MFirst();
                       SoapObject soapChilds =(SoapObject)soapObject.getProperty(i);
                       m.setAutoId(soapChilds.getProperty("AutoId").toString());
                       m.setFirstName(soapChilds.getProperty("FirstName").toString());
                       m.setFirstImg(soapChilds.getProperty("FirstImg").toString());
                       m.setFirstKjid(Integer.parseInt(soapChilds.getProperty("FirstKjid").toString()));
                       list.add(m);
                      }
                      }
                      }catch (Exception e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            
         
                      }
                      return list;
    }
    }
      

  3.   

    http://android.yyable.com/reference/android/os/StrictMode.html
      

  4.   

    那个dotnet=true有什么作用啊。我加上这句之后,在内网调webservice就报提交参数不对的错误。
    求高人解答啊~~~
      

  5.   

     ht.call("http://tempuri.org/GetAllMFirst",envelope);里面的 是 命名空间,注意核对下!  dotnet=true 没有用,建议取消掉!