2011-08-01 62 views
0

我是新來的這個android應用程序,所以我開發了一個示例.net web服務應用程序,並將此服務放在另一臺機器IIS服務器中,並從那裏調用到我的系統。但我沒有得到迴應一切看起來不錯,所以我把我的代碼放在skydrive所以請下載我的代碼「Android應用程序和.net服務.rar」從下面的鏈接,並檢查它,並告訴我什麼是錯的,獲取.NET Web服務響應的問題?

[WebService的空間(namespace = 「http://tempuri.org/」:2天我跟那個:(

這是我的代碼...

.NET Web服務代碼掙扎)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] //若要允許使用ASP.NET AJAX從腳本調用此Web服務,請取消註釋以下行: [System.Web.Script.Services.ScriptService]

public class Service : System.Web.Services.WebService 
{ 
    public Service() { 

     //Uncomment the following line if using designed components 
     //InitializeComponent(); 
    } 

    [WebMethod] 
    public string MobileApp(string type) 
    { 
     return "Type is"+type; 
    } 

} 

服務呼叫號碼在蝕:

public void ServiceCall() 
    { 
     try{ 
     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);   
     request.addProperty("type",view1.getText().toString()); 

     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     envelope.dotNet=true; 
     envelope.setOutputSoapObject(request); 

     //@SuppressWarnings("deprecation") 
     //ndroidHttpTransport androidHttpTransport=new AndroidHttpTransport(URL); 
     HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
     androidHttpTransport.debug=true; 

     androidHttpTransport.call(SOAP_ACTION, envelope); 

     SoapPrimitive result = (SoapPrimitive)envelope.getResponse(); 
     TextView txtView=(TextView)findViewById(R.id.txtSer); 
       txtView.setText(result.toString()); 

     }  
     catch (final IOException e) 

     { 
      // TODO Auto-generated catch block 

      e.printStackTrace(); 

     } catch (final XmlPullParserException e) 

     { 

      // TODO Auto-generated catch block 

      e.printStackTrace(); 

     } catch (final Exception e) 

     { 

      // TODO Auto-generated catch block 

      e.printStackTrace(); 

     } 


    } 

線清單中加入:

<uses-permission android:name="android.permission.INTERNET" ></uses-permission> 
<uses-sdk android:minSdkVersion="7" /> 

@nag

+2

除了需要下載和解壓縮rar文件的人外,請告訴我們您看到的是什麼,並在服務器和客戶端上提供適當的代碼部分。 –

+0

看起來你之前問過這個問題:http://stackoverflow.com/questions/6872219/problem-when-calling-net-webservice從上一個問題,它看起來像你有2臺電腦 - 他們是否正確聯網?你可以從另一個ping一個嗎? –

+0

@John兩者都是不同的樣本,但概念是相同的,但我沒有附上任何我的解決方案下載。 – nag

回答

0

應該是這些,但我不知道你的web服務如果這些不起作用,請給予更多。

request.addProperty(「type」,view1.getText()。toString());

+0

你我說過,但是即使它沒有工作,我做了一個改變。改變這條線之後,這是否適合您的工作? – nag

0

如果你的網絡服務運行在一臺電腦上(我假設)你的Android應用在仿真器上的另一臺電腦上運行 - 我不確定模擬器如何連接到另一臺本地電腦 - 這可能是你的一部分問題。嘗試在與localhost相同的pc上運行您的web服務,但使用端口10.0.2.2從您的應用程序代碼連接到它。

+0

如果我給像「http:// localhost:58817/MobService/Service.asmx」它在我的本地sys瀏覽器工作,但如果我使用像這樣「http://10.0.2.2:58817/MobService/Service.asmx」它不工作? – nag

+0

您的瀏覽器將無法在10.0.2.2上使用 - 僅限仿真器 –