1

对于大学的一个项目,我正在尝试在 WSO2 Application Server v5.01 上设置一个非常简单的 HelloWorld-Service。它包含一个接口和一个具有三个方法的类。

界面:

public interface HelloWorld {
  public String helloWorld();
  public String sayHello(String name);
  public String sayHello(String name, String surename);
}

执行:

public class HelloWorldImpl implements HelloWorld {

  @Override
  public String helloWorld() {
    return "Hello World!";
  }

  @Override
  public String sayHello(String name) {
    return "Hello " + name;
  }

  @Override
  public String sayHello(String name, String surname) {
    return "Hello " + name + " " + surname;
  }
}

如您所见,该实现包含两个具有相同名称的方法。如果我将此打包为 aar 文件上传,则该服务仅提供第二种方法签名。我怎样才能告诉服务提供两者?有没有我可以添加的注释或者如何做到这一点?

任何帮助表示赞赏!提前非常感谢!

4

2 回答 2

0

您已将 Axis2 用作 Web 服务引擎,并且 Axis2 不支持操作重载。正如一些人提到的,不鼓励在 Web 服务中使用操作重载。

于 2013-02-03T15:38:05.107 回答
0

许多远程实现不支持重载方法(同名,不同的参数)。只需通过使您的 sayHello 方法的方法名称彼此不同来避免它

于 2012-12-16T16:29:35.623 回答