Идеальная настройка будет
Android-приложение <-> GAE
Если вам нужен веб-сервис для проверки вашего файла json ... просто прочитайте содержимое json на сервере в объект JSON, и, если исключение не выдается, вы можете отправлять ответ клиенту.
Я предоставил код, который использует Restlet (restlet.org) с обеих сторон.
Android-приложение
Client client = new Client(Protocol.HTTP);
Request req = new Request();
req.setMethod(Method.POST); // can be Method.GET
req.setResourceRef(new Reference(/* SERVER URL */+ "/jsonservice"));
req.getCookies().add(GAuth.getCookie());
/* Build your JSONObject */
req.setEntity(/* JSONObject */.toString(), MediaType.APPLICATION_JSON);
req.getClientInfo().getAcceptedMediaTypes().add(new Preference<MediaType>(MediaType.APPLICATION_JSON));
Response resp = client.handle(req);
if (resp.getStatus() == Status.SUCCESS_OK)
{
// resp.getEntity().getText() -> The JSON string returned by GAE
JSONObject jo=new JSONObject(resp.getEntity().getText());
/* Use your JSON object */
}
Приложение GAE
GAE: война / WEB-INF / web.xml
<!-- Servlets -->
<servlet>
<servlet-name>MyApplication</servlet-name>
<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
<init-param>
<param-name>org.restlet.application</param-name>
<param-value>com.mypackage.MyApplication</param-value>
</init-param>
</servlet>
<!-- Servlet Mappings -->
<servlet-mapping>
<servlet-name>MyApplication</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Рестлет: MyApplication.java
package com.mypackage;
public class MyApplication extends Application
{
@Override
public Restlet createInboundRoot()
{
Router router = new Router(getContext());
router.attach("/jsonservice", MyJsonService.class);
return router;
}
}
Рестлет: MyRouter.java
package com.mypackage;
public class MyJsonService extends ServerResource
{
@Post("json:json") // can be @Get("json")
public Representation jsonProcessor(Representation entity)
{
Representation resp = null;
JSONObject req = (new JsonRepresentation(entity)).getJsonObject();
/*
Do Someting with the JSON object
.....
.....
.....
Build your JSON response object.
You will use this object below.
*/
setStatus(Status.SUCCESS_OK);
resp = new JsonRepresentation(/* JSONObject */.toString());
return resp;
}
}