2011-10-12 229 views
0

我遇到了一些麻煩。我正在同時做我的第一個Android應用程序和第一個WCF服務。 請與我裸... 我有以下的服務合同:從Android客戶端調用Web服務

[ServiceContract] 
    public interface ILoginService 
    { 

     [OperationContract] 
     string Login(string username, string password); 

     // TODO: Add your service operations here 
    } 

我想從我的Android應用程序調用此並傳入用戶名和密碼參數。 1.此作業是否適合該作業? 2.有人可以請我指出一個教程/代碼示例,說明如何通過Android調用此WCF服務?

謝謝!

編輯:我可能會更近一點,但我仍然迷路。 這是我到目前爲止有: 合同:

[OperationContract] 
     [WebGet(ResponseFormat= WebMessageFormat.Json, 
      UriTemplate="/LoginService/?username={username}&password={password}")] 
     Response Login(string username, string password); 

然後我致電該服務的Android搭配:

public LoginResponse RemoteLogin(String username, String password) 
    { 
     loginParameters = "/LoginService/username=" + username + "&password=" + password; 


     HttpClient httpclient = new DefaultHttpClient(); 
     HttpGet httpget = new HttpGet(serviceAddress + loginParameters); 

     HttpResponse response; 

     LoginResponse loginResponse = null; 

     try 
     { 
      response = httpclient.execute(httpget); 

      HttpEntity entity = response.getEntity(); 

      if(entity != null) 
      { 
       InputStream instream = entity.getContent(); 
       String result = convertStreamToString(instream); 
       JSONObject json = new JSONObject(result); 

       // Parsing 
       JSONArray nameArray = json.names(); 
       JSONArray valArray = json.toJSONArray(nameArray); 

       loginResponse = new LoginResponse(valArray.getBoolean(1), valArray.getString(0), valArray.getString(2)); 


       instream.close(); 
      } 

     } 
     catch(Exception e) 
     { 
      loginResponse = new LoginResponse(); 
      String sDummy = e.toString(); 
     } 
     return loginResponse; 
    } 

我不知道現在是錯誤的。

回答

0

沒有真正解決這個問題,只是一種側面它。 我從web.config中刪除了與ServiceModel有關的任何內容,並向SVC文件添加了ServiceHostFactory指令。那就是訣竅。現在一切正常。它一定是某種配置問題。

+0

你能否提供一個示例代碼? –

+0

你能解釋一下如何從android.please的wcf服務開始,給出一些啓動步驟。我對此沒有任何想法 –