다음은 WCF 서비스에 연결하는 코드 단편입니다.안드로이드와 함께 WCF Rest Service를 사용하는 방법
DefaultHttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(EMPLOYEE_LOG_IN);
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
if(entity.getContentLength() != 0) {
Reader employeeReader = new InputStreamReader(response.getEntity().getContent());
//create a buffer to fill if from reader
char[] buffer = new char[(int) response.getEntity().getContentLength()];
//fill the buffer by the help of reader
employeeReader.read(buffer);
//close the reader streams
employeeReader.close();
//for the employee json object
JSONObject employee = new JSONObject(new String(buffer));
Log.d("Response",employee.getString("FirstName"));
다른 상황에서는 다른 방식으로 동작합니다. 여기 내가이 방법은 모든 것이 잘 작동 호출 할 때 내 방법을 편집하고이
FineReceiptsTestEntities _entity = new FineReceiptsTestEntities();
var t = _entity.Employees.FirstOrDefault(x => x.EmployeeID == personalNUmber);
return new Controller
{
EmployeeId = 1,
FirstName = t != null ? t.Name : " ",
LastName = "LastName"
};
같은 엔티티 DB에 연결했을 때
public Controller GetEmployees(int personalNUmber)
{
return new Controller
{
EmployeeId = 1,
FirstName = "FirstName",
LastName = "LastName"
};
}
}
그래서, 내가 잘 JSON 형식을 얻을 수 있지만, 내 WCF 서비스에서 코드
Json 개체가 반환되지 않았습니다. 이
서버와 같은 오류 반환 단지 HTML 내용이 request.Please을 처리 오류가 서비스에 유효한 요청을 구성하기위한 서비스 도움말 페이지를 참조가 발생했습니다.
브라우저의 두 가지 유형의 메소드가 모두 올바르게 작동하고 관련 데이터를 반환합니다.
여기 내 의 Web.config입니다
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
</system.web>
<system.serviceModel>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint helpEnabled="true" automaticFormatSelectionEnabled="true" />
</webHttpEndpoint>
</standardEndpoints>
<services>
<service name="dev_FineReceiptsService.ControllersInfo">
<endpoint kind="webHttpEndpoint" contract="dev_FineReceiptsService.IControllersInfo" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
<connectionStrings>
<add name="FineReceiptsTestEntities" connectionString="metadata=res://*/FineTest.csdl|res://*/FineTest.ssdl|res://*/FineTest.msl;provider=System.Data.SqlClient;provider connection string="Data Source=msdev01;Initial Catalog=FineReceiptsTest;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
데이터를 검색하는 엔티티를 사용하는 경우 그래서 사람이 문제가 무엇인지 말해 줄 수?
나는이 예 http://wyousuf.wordpress.com/2012/03/01/android-with-wcf-services/#comment-119을 사용하고 잘 작동하지만 난 엔티티를 사용하여 데이터를 검색 할 때 프레임 워크가 작동하지 않습니다. 안드로이드에서 엔티티 프레임 워크를 사용하여 데이터를 검색하는 방법에 대한 도움말을 제공하십시오. –