我正在使用 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注释更改为不同的值,那么一切正常。
提前感谢您的帮助!