我使用Netbeans创建Web服务,代码用java编写。我的问题来自于创建客户可以访问的2个功能。功能看起来与名称相似,但它们的参数不同。
在构建Web服务(在war文件中)时,我没有抱怨。然而,当将war文件部署到glassfish服务器上时,会出现错误,这些错误会让我得出结论,玻璃鱼不知不觉地在不查看参数列表的情况下会对同名的2个函数感到困惑。这是一种常见现象吗?有解决方法吗?
例如:
@WebMethod() public Long startMission(@WebParam(name =“session”)会话会话,字符串名称{ ..... }
@WebMethod() public Long startMission(@WebParam(name =“session”)会话会话,Long num { ..... }
glassfish服务器上的错误回到我身边,告诉我第二个StartMission函数不包含参数@Long num的入口点 - 它告诉我它不能识别同名的2个函数。也许我正在以错误的方式思考这个问题。任何帮助,选项,建议将不胜感激。谢谢!
答案 0 :(得分:0)
您可以通过指定它们对应的操作来区分这两种方法。这是通过为operationName
注释指定WebMethod
成员值来完成的。
例如,
@WebMethod(operationName='startMissionWithName') public Long startMission(@WebParam(name="session") Session session, String name{ ..... }
@WebMethod(operationName='startMissionWithId') public Long startMission(@WebParam(name="session") Session session, Long num{ ..... }