Правила разрешения имен говорят, что поиск имен прекращается в первой области, в которой найдено совпадающее имя. В этот момент правила разрешения перегрузки срабатывают, чтобы найти наилучшее соответствие доступных функций.
В этом случае gogo(int*)
найден (один) в области Derived класса, и поскольку стандартного преобразования нет от int до int *, поиск не выполняется.
Решение состоит в том, чтобы принести объявления Base с помощью объявления using в классе Derived:
using Base::gogo;
... позволило бы правила поиска имен для поиска всех кандидатов и, следовательно, разрешение перегрузки будет продолжаться, как вы ожидали.
Следуя комментариям @EmmanuelCollin, я смог улучшить поиск и нашел решение, используя
<module contextPath="services" name="myJar" >
<jws .../>
<jws .../>
</module>
, как в: Справочный центр Oracle »Пример 4 Упаковка нескольких веб-сервисов в Один файл WAR "
Затем я упаковал сгенерированные файлы aplication.xml и .war в файл .ear с помощью ANT:
<ear destfile="${dist.dir}/${ant.project.name}.ear" appxml="${conf.dir}/application.xml">
<metainf dir="${build.dir}/META-INF"/>
<fileset dir="${dist.dir}" includes="*.jar,*.war"/>
</ear>
Наконец, развернул .ear на сервере weblogic 12c и успешно протестировал ответ веб-сервисов. Все в одном контексте.
Спасибо!