2016-01-22 58 views
0

我想开发一个项目,我的android应用程序向wcf Web服务发送一个IP地址和端口号: 但我不能这样做 它有可能有Web服务的响应? IService.cs从Android客户端发送两个参数到WCF WS

 [OperationContract] 
    [WebGet(UriTemplate = "Connection/{ipadress}/{port}")] 
    bool Connection(string ipadress,string port); 

Service.svc.cs

public bool Connection(string ipadress, string port) 
    { 
     /*   */ 
      return true; 

    } 

代码的Android

public boolean Connection_Net() { 
    String url_service = "http://algotimesheet.azurewebsites.net/Service1.svc/Connection/ipadress/port"; 
    URLConnection urlConnection; 
    DataOutputStream dataOutputStream; 
    DataInputStream dataInputStream; 
    URL url; 

    try { 
     url = new URL(url_service); 
     urlConnection = url.openConnection(); 
     urlConnection.setDoOutput(true); 
     urlConnection.setDoInput(true); 
     urlConnection.setUseCaches(false); 
     urlConnection.setRequestProperty("Content-Type", "application/json"); 
     urlConnection.setRequestProperty("Host", "android.schoolportal.gr"); 
     urlConnection.connect(); 

     JSONObject jsonObject = new JSONObject(); 
     jsonObject.put("ipadress","192.168.1.1"); 
     jsonObject.put("port","4370"); 
     OutputStreamWriter outputStreamWriter = new OutputStreamWriter(urlConnection.getOutputStream()); 
     outputStreamWriter.write(jsonObject.toString()); 
     outputStreamWriter.close(); 


    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

    return true; 
} 
+0

你不需要任何的JSON对象,只是让

public class Data() { public string ip {get; set;} public string port{get;set;} } 

一个“GET “请求像'http:// algotimesheet.azurewebsites.net/Service1.svc/Connection/192.168.1.1/4370'(不像你试图”POST“) – Eser

+0

以及如何发送请求? –

+0

http://bit.ly/1S02pbe – Eser

回答

-1

如果送你需要编写的服务期待的对象,并使用POST一个JSON

[OperationContract] 
[WebInvoke(Method="POST", 
    RequestFormat = WebMessageFormat.Json, 
    UriTemplate = "Connection")] 
bool Connection(Data data); 

public bool Connection(Data data) 
{ 
    /*   */ 
     return true; 

} 

和设计这样的对象:如果你想使一个GET你只需要添加值的URL

+0

我想做一个'GET',但是我的解决方案在'urlConnection.connect();'之后不起作用 –

+0

''我必须做什么来发送数据? –

+0

@AbdAlah尝试将值添加到URL中,然后执行'urlConnection.connect();',我不认为你需要做任何事情 –

相关问题