Glassfish - 使用2个相同名称的函数部署WSDL

时间:2010-08-05 21:41:55

标签: java web-services jax-ws

我使用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个函数。也许我正在以错误的方式思考这个问题。任何帮助,选项,建议将不胜感激。谢谢!

1 个答案:

答案 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{ ..... }