I just started exploring JPos. I am trying to implement Rest tutorial. /echo call is giving me 503 Service unavailable. I am doing exactly what the tutorial is suggesting.
App.java
package org.jpos.rest;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.glassfish.jersey.jackson.JacksonFeature;
import org.glassfish.jersey.server.ResourceConfig;
import javax.ws.rs.ext.ContextResolver;
public class App extends ResourceConfig {
public App() {
super();
register(JacksonFeature.class);
register(new Resolver());
packages("org.jpos.rest");
}
class Resolver implements ContextResolver<ObjectMapper> {
final ObjectMapper defaultObjectMapper = createDefaultMapper();
@Override
public ObjectMapper getContext(Class<?> type) {
return defaultObjectMapper;
}
private ObjectMapper createDefaultMapper() {
final ObjectMapper mapper = new ObjectMapper();
mapper.configure(JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN, true);
mapper.configure(JsonGenerator.Feature.ESCAPE_NON_ASCII, true);
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
mapper.enable(SerializationFeature.INDENT_OUTPUT);
return mapper;
}
}
}
Echo.java
package org.jpos.rest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.HashMap;
import java.util.Map;
@Path("/echo")
public class Echo {
@GET
@Produces({MediaType.APPLICATION_JSON})
public Response echoGet(){
Map<String, Object> resp = new HashMap<>();
resp.put("success", "true");
return Response.ok(resp, MediaType.APPLICATION_JSON)
.status(Response.Status.OK)
.build();
}
}
I have debugged the code and it is reaching App.java but it isn't reaching Echo.java