2013-03-10 63 views
0

所以我有运行尝试发送6个变量到Web服务(http://hydra.chorleywood.org/hydradevices/devicesmanagement.asmxksoap2-的Android connecitong问题

我使用kso​​ap2 - 安卓Android中的一个问题4.2 API 17

我计划每崩溃我按下了它所关联的按钮。我已经浏览了很多教程,并且完成了它们的工作,但对于我来说,无论是在eclipse中运行还是导出并在手机上运行它都无济于事。

这里是代码

private static final String NAMESPACE = "http://hydra.chorleywood.org"; 
private static final String URL="http://hydra.chorleywood.org/hydradevices/devicesmanagement.asmx"; 
private static final String METHOD1_SOAP_ACTION_URL = "http://hydra.chorleywood.org/addNewDevice"; 
private static final String METHOD_NAME1 = "addNewDevice"; 

final Button status_button = (Button) findViewById(R.id.device_status); 
status_button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     // Perform action on click 

     // setting my variables 
     String EUI64 = "EHF7980HY3G793HG393GF737GH80G7"; 
     String HashCode = "MB2GPD"; 
     int DeviceTypeID = 528391; 
     String subType = "Weighing Scales"; 
     String Manufacturer = "Samsung"; 
     String SerialNumber = "8476403967"; 

     // setting connectionas 
     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1); 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12); 
     HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
     envelope.dotNet = true; 

     // setting informaiton to be sent 
     request.addProperty("EUI64", EUI64); 
     request.addProperty("HashCode", HashCode); 
     request.addProperty("DeviceTypeID", DeviceTypeID); 
     request.addProperty("subType", subType); 
     request.addProperty("Manufacturer", Manufacturer); 
     request.addProperty("SerialNumber", SerialNumber); 

     // setting request to be sent out 
     envelope.setOutputSoapObject(request); 

      try 
      { 
      androidHttpTransport.call(METHOD1_SOAP_ACTION_URL, envelope); 
      //java.lang.String receivedString = (String)envelope.getResponse(); 
      //java.lang.Boolean receivedBoolean = (Boolean)envelope.getResponse(); 
      Object result = envelope.getResponse(); 

      /**if(receivedBoolean = true) { 
       Context context = getApplicationContext(); 
       CharSequence text = "testing toast"; 
       int duration = Toast.LENGTH_SHORT; 

       Toast toast = Toast.makeText(context, text, duration); 
       toast.show(); 
      }**/ 

      } 

      catch(Exception e) 
      { 
      } 
    } 

我已经设置了权限在清单 的相关部分,我不能确定到底什么是错的,没有人知道?

我尝试过不同的API,但仍然无法正常工作。 我真的很感谢在这个话题上的任何帮助,我已经放了一个星期到目前为止,我只是在圈子里跑。

我从字面上复制粘贴其他人民的网络服务(我认为是一个活跃的服务器),并试图运行他们的确切代码,似乎也没有工作。也许这将帮助你弄清楚我遇到的问题。

非常感谢,

查理

回答

0

您需要使用线程的Android版本高于3.0。 尝试this.