1

大学のプロジェクトで、WSO2 アプリケーション サーバー v5.01 で非常に単純な HelloWorld サービスをセットアップしようとしています。インターフェイスと 3 つのメソッドを持つクラスが含まれています。

インターフェース:

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;
  }
}

ご覧のとおり、実装には同じ名前の 2 つのメソッドが含まれています。これを aar-file としてパッケージ化してアップロードすると、サービスは 2 番目のメソッド シグネチャのみを提供します。両方を提供するようにサービスに指示するにはどうすればよいですか? 追加できる注釈はありますか、またはどのようにしますか?

どんな助けでも大歓迎です!よろしくお願いします!

4

2 に答える 2

0

多くのリモーティング実装はオーバーロード メソッドをサポートしていません (同じ名前、異なる引数)。sayHello メソッドのメソッド名を互いに異なるものにすることで、それを回避してください

于 2012-12-16T16:29:35.623 に答える
0

Web サービス エンジンとして Axis2 を使用しましたが、Axis2 は操作のオーバーロードをサポートしていません。一部の人が言及したように、Web サービスで操作のオーバーロードを使用することはお勧めできません。

于 2013-02-03T15:38:05.107 に答える