Bereitstellen von REST-web-service auf AWS?

Was muss getan werden?

Deploy-web-Anwendung mit web-service(REST) auf der AWS-Plattform. (Tomcat-server)

, Was ich getan habe?

Erstellung von web-Anwendungen mit REST-web-service. Getestet lokal erfolgreich.

Problem

Wenn ich jetzt bereitstellen, um die AWS elastic beanstalk geben 404-Fehler.

Meine Web-Service-code

@Path("/abc")
public class registerService {
@POST
@Path("/crunchifyService")
@Consumes(MediaType.APPLICATION_JSON)
public Response crunchifyREST(InputStream incomingData) {
StringBuilder crunchifyBuilder = new StringBuilder();
try {
BufferedReader in = new BufferedReader(new InputStreamReader(incomingData));
String line = null;
while ((line = in.readLine()) != null) {
crunchifyBuilder.append(line);
}
} catch (Exception e) {
System.out.println("Error Parsing: - ");
}
System.out.println("Data Received: " + crunchifyBuilder.toString());
User userObject = new Gson().fromJson(crunchifyBuilder.toString(), User.class);
System.out.println("JSon object: " + userObject.getSurname());
int status = RegisterDao.register(userObject);
if(status == 1)
{
}else{
System.out.println("Failed again");
}
//return HTTP response 200 in case of success
return Response.status(200).entity(crunchifyBuilder.toString()).build();
}
@GET
@Path("/verify")
@Produces(MediaType.TEXT_PLAIN)
public Response verifyRESTService(InputStream incomingData) {
String result = "CrunchifyRESTService Successfully started..";
//return HTTP response 200 in case of success
return Response.status(200).entity(result).build();
}
@GET
@Path("/users")
@Produces(MediaType.TEXT_PLAIN)
public Response getUsers(){
return Response.status(200).entity("Done").build();
}
}

REST-client-code

<%
String json = new Gson().toJson(u);
System.out.println(json);
try {
URL url = new URL("http://storageserver-env.sa-east-1.elasticbeanstalk.com/MyApplicationName/api/abc/crunchifyService");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/json");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
OutputStreamWriter out1 = new OutputStreamWriter(connection.getOutputStream());
out1.write(json);
out1.close();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while (in.readLine() != null) {
}
System.out.println("\nCrunchify REST Service Invoked Successfully..");
in.close();
} catch (Exception e) {
System.out.println("\nError while calling Crunchify REST Service");
System.out.println(e);
}
%>

Meinem server log sagt

127.0.0.1 - - [09/Apr/2016:13:38:05 +0000] "POST /SecureStorage/api/abc/crunchifyService HTTP/1.1" 404 1070

**

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>SecureStorage</display-name>
<welcome-file-list>
<welcome-file>
createTable.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>registration</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Application</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
</web-app>
  • Überprüfen Sie Ihre server-log, um zu sehen, warum der Einsatz wird scheitern
  • Es sagt einfach nur diese "127.0.0.1 - - [09/Apr/2016:13:38:05 +0000] "POST /SecureStorage/api/abc/crunchifyService HTTP/1.1" 404 1070"
  • Das ist Ihr access-log, nicht für Ihre Bereitstellung log
  • Verlinkt meine log-Datei
  • Dude... die Sie benötigen, um Sie zu löschen, es hat Ihr AWS-Schlüssel in es.
  • Sie müssen auch gehen, löschen Sie die AWS-keys jetzt und neue zu schaffen.
  • Schau dir all die Ausnahmen in Ihrer /var/log/tomcat8/localhost.2016-04-09.log ich fühlen, wie Sie sind, meine Zeit zu verschwenden und alle anderen auf dieser Website nicht auf der Suche auf Ihre log-Dateien und die Suche nach diesen Ausnahmen selbst.
  • Vielen Dank für alles
  • Danke für die Lektion 🙂

InformationsquelleAutor swapnil7 | 2016-04-09
Schreibe einen Kommentar