我有点麻烦。我正在同时做我的第一个Android应用程序和第一个WCF服务。 请跟我一起裸... 我有以下服务合同:
[ServiceContract]
public interface ILoginService
{
[OperationContract]
string Login(string username, string password);
// TODO: Add your service operations here
}
我想从我的Android应用程序中调用它并传入用户名和密码参数。 这份经营合同是否适合这份工作? 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 :(得分:0)
没有真正解决问题,只是采取了一些措施。 我从web.config中删除了与ServiceModel有关的任何内容,并将一个ServiceHostFactory指令添加到SVC文件中。这就是诀窍。现在一切正常。它一定是某种配置问题。