WebLogic中重载方法的RESTful服务

时间:2014-06-20 22:08:46

标签: java rest ejb weblogic overloading

我正在使用 WebLogic 12.1.2 。 (这似乎是一个WebLogic问题,因为相同的代码在 JBoss 下运行良好)

我有一个带有重载方法的EJB。如果我使用相同的RESTful路径分配两个方法,那么当我使用此消息访问EJB方法时,WebLogic上的部署似乎会成功但失败:

Root cause of ServletException.
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
    at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
    at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:770)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:765)

这是我的EJB代码:

  @Stateless
  @LocalBean
  @TransactionManagement(TransactionManagementType.BEAN)
  @Path("/License")
  public class License implements LicenseRemote, LicenseLocal {

  public License() {
  }

  @POST
  @Path("/registerTerminal")
  @Produces("application/json")
  public ResultRecord registerTerminal(
        @QueryParam("machineName") String machineName,
        @QueryParam("computerName") String computerName,
        @QueryParam("terminalId") String terminalId) {

    ..............
    ...............
    ...............
  }

  @POST
  @Path("/registerTerminal")
  @Produces("application/json")
  public TerminalInfo registerTerminal(
        @QueryParam("terminalId") String terminalId) {

    ..............
    ...............
    ...............

  }

如果我将其中一个Path注释更改为不同的值,那么一切正常。

提前感谢您的帮助!

0 个答案:

没有答案