Как заменить AXIS «Привет, это сервис AXIS!» страница? - PullRequest
2 голосов
/ 03 февраля 2011

Когда я перехожу на "http://192.168.0.149:8080/axis/services/MyService", Я получаю эту страницу

" Привет, это услуга AXIS!

Возможно, будет форма для вызова службыздесь ..."

Я знаю, что это означает, что мой веб-сервис работает правильно (на самом деле, у меня есть Java-клиент, который вызывает его очень хорошо). Но вчера мне задали простой вопрос, но я не знаю ответа и не смог его найти. Можем ли мы заменить эту страницу , скажем, на реальную форму? Есть ли параметр для добавления в наш файл web.xml или, возможно,что-то еще?

Я знаю, что ось развернута как файл jar на моем сервере (нет каталога / axis), так что это может ограничить мои возможности ...

1 Ответ

4 голосов
/ 10 февраля 2011

Нашли решение.

Вы можете создать подкласс AxisServlet и переопределить метод reportServiceInfo () (это тот, который выводит "Привет, ...").

package com.abcd.ws;

import java.io.IOException;

@SuppressWarnings("serial")
public class MyAxisServlet extends org.apache.axis.transport.http.AxisServlet {
    protected void reportServiceInfo(
            javax.servlet.http.HttpServletResponse response,
            java.io.PrintWriter writer, org.apache.axis.handlers.soap.SOAPService service,
            java.lang.String serviceName) {
        //writer.write("We can print stuff here, or redirect :");
        // The leading slash means we are redirecting using an absolute path
        String redirectPage = response.encodeRedirectURL("/" + serviceName + ".jsp");
        try {
            response.sendRedirect(redirectPage);
        } catch (IOException e) {
            e.printStackTrace();
        }           
    }
}

Youзатем необходимо изменить в своем файле web.xml отображение на AxisServlet, чтобы использовать этот класс.

...