【发布时间】:2013-03-01 10:13:04
【问题描述】:
我有一个 wcf 服务,我将发布一些方法,例如:
[OperationContract]
[WebGet(
UriTemplate = "GetPlates",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
IList<string> GetPlates();
班级
public IList<string> GetPlates()
{
return new List<string>
{
"ag",
"asda"
};
}
在活动中
try {
// Send GET request to <service>/GetPlates
HttpGet request = new HttpGet(SERVICE_URI + "/GetPlates");
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
HttpEntity responseEntity = response.getEntity();
// Read response data into buffer
char[] buffer = new char[(int)responseEntity.getContentLength()];
InputStream stream = responseEntity.getContent();
InputStreamReader reader = new InputStreamReader(stream);
reader.read(buffer);
stream.close();
JSONArray plates = new JSONArray(new String(buffer));
} catch (Exception e) {
e.printStackTrace();
}
我每次都得到空值。 如果我从浏览器或模拟器访问 URL,我会得到: ["ag","asda"].
【问题讨论】:
-
如果它在模拟器上工作但在手机上不工作,那么首先检查你的手机是否可以访问服务器的 ip
-
如果您没有收到异常,则可以检查您的 DNS。尝试通过 wifi 连接到您的本地网络,看看是否可以解决问题。