Сервер приложений WSO2: различать повторяющиеся имена методов

для проекта в университете я пытаюсь настроить довольно простой HelloWorld-Service на сервере приложений WSO2 v5.01. Он содержит интерфейс и класс с тремя методами.

Интерфейс:

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-файла, сервис просто предлагает сигнатуру второго метода. Как я могу сообщить сервису, чтобы он предлагал и то, и другое? Есть ли какие-либо аннотации, которые я могу добавить или как это сделать?

Любая помощь приветствуется! Заранее большое спасибо!


person duelle    schedule 16.12.2012    source источник


Ответы (2)


многие реализации удаленного взаимодействия не поддерживают методы перегрузки (то же имя, разные аргументы). Просто избегайте этого, сделав имя метода ваших методов sayHello отличными друг от друга.

person R.Moeller    schedule 16.12.2012
comment
Поскольку WSO2 AS поддерживает аннотации для JAX-WS, где вы можете определить имена опубликованных методов (а afaik может сопоставлять разные сигнатуры методов в коде с разными именами опубликованных методов), я надеялся, что могут быть аналогичные решения для AAR-способ. - person duelle; 17.12.2012
comment
Хорошо, возможно, добавьте это к вашему вопросу. В общем, я думаю, это не важно, с этим ограничением можно легко жить.. - person R.Moeller; 18.12.2012

Вы использовали Axis2 в качестве ядра веб-службы, а Axis2 не поддерживает перегрузку операций. Как некоторые упоминали, не рекомендуется использовать перегрузку операций в веб-сервисах.

person Sagara Gunathunga    schedule 03.02.2013