你好它相对简单。我在weblogic 12.2上开始了我的项目,但现在我收到了老板的消息,这将是12.1.3安装的具体内容。但是进行一些测试我发现我在12.2上生成的端点休息在12.1.3上不起作用有人会说我为什么......
这是我的一项服务:
package xxxxxx
import package.DdcEstado;
import java.math.BigDecimal;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@Stateless
@Path("estados")
public class DdcEstadoFacadeREST extends AbstractFacade<DdcEstado> {
@PersistenceContext(unitName = "Data_Delaer_CentralizerPU")
private EntityManager em;
public DdcEstadoFacadeREST() {
super(DdcEstado.class);
}
@POST
@Override
@Consumes({"application/xml", "application/json"})
public void create(DdcEstado entity) {
super.create(entity);
}
@PUT
@Path("{id}")
@Consumes({"application/xml", "application/json"})
public void edit(@PathParam("id") BigDecimal id, DdcEstado entity) {
super.edit(entity);
}
@DELETE
@Path("{id}")
public void remove(@PathParam("id") BigDecimal id) {
super.remove(super.find(id));
}
@GET
@Path("{id}")
@Produces({"application/xml", "application/json"})
public DdcEstado find(@PathParam("id") BigDecimal id) {
return super.find(id);
}
@GET
@Override
@Produces({"application/xml", "application/json"})
public List<DdcEstado> findAll() {
return super.findAll();
}
@GET
@Path("{from}/{to}")
@Produces({"application/xml", "application/json"})
public List<DdcEstado> findRange(@PathParam("from") Integer from, @PathParam("to") Integer to) {
return super.findRange(new int[]{from, to});
}
@GET
@Path("count")
@Produces("text/plain")
public String countREST() {
return String.valueOf(super.count());
}
@Override
protected EntityManager getEntityManager() {
return em;
}
}
这是ApplicationConfig:
package gt.com.pckg.service;
import java.util.Set;
import javax.ws.rs.core.Application;
@javax.ws.rs.ApplicationPath("rest")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new java.util.HashSet<Class<?>>();
addRestResourceClasses(resources);
return resources;
}
/**
* Do not modify addRestResourceClasses() method.
* It is automatically populated with
* all resources defined in the project.
* If required, comment out calling this method in getClasses().
*/
private void addRestResourceClasses(Set<Class<?>> resources) {
resources.add(gt.com.pckg.service.DdcAlarmaFacadeREST.class);
resources.add(gt.com.pckg.service.DdcColaDetalleFacadeREST.class);
resources.add(gt.com.pckg.service.DdcColaFacadeREST.class);
resources.add(gt.com.pckg.service.DdcDealerFacadeREST.class);
resources.add(gt.com.pckg.service.DdcEstadoFacadeREST.class);
resources.add(gt.com.pckg.service.DdcProcesoFacadeREST.class);
resources.add(gt.com.pckg.service.DdcProgramacionFacadeREST.class);
resources.add(gt.com.pckg.service.DdcPuntoVentaFacadeREST.class);
resources.add(gt.com.pckg.service.DdcRolFacadeREST.class);
resources.add(gt.com.pckg.service.DdcUsuarioFacadeREST.class);
resources.add(gt.com.pckg.service.ProcessExecutor.class);
}
}
在这种情况下,当您进入localhost:7001 / proyect / rest / estados时,我收到404响应。
我将非常感谢所有的帮助。
答案 0 :(得分:0)
您好我找到了解决方案,这很简单。
对于sintaxis和12.1.3和12.2.1上的终点指令有很多不同之处?
好吧,因为甲骨文说我们打算在这个表格上这样做......
例如12.2.1上的MediaTypes你将它们设置为http头“application / json”,但在12.1.3上你还使用了MediaType.APPLICATION_JSON
还有像ApplicationConfig这样的其他文件有一些变化......
我的解决方案是将项目设置为新的服务器版本,并在netbeans上再次从数据库生成端点。