当我转到“http://192.168.0.149:8080/axis/services/MyService”时,我会看到这个页面
“你好,这是一个AXIS服务!
也许会有一个表格在这里调用服务...... “
我知道这意味着我的网络服务工作正常(事实上,我有一个java客户端,可以很好地调用它)。但昨天我被问到一个简单的问题,但我不知道答案,也找不到答案。 我们可以用实际的表格替换那个页面吗?是否有设置要添加到我们的web.xml文件中,或者可能还有其他内容?
我知道在我的服务器上部署了一个jar文件(没有/ axis目录),所以这可能会限制我的可能性......
答案 0 :(得分:4)
找到解决方案。
您可以继承AxisServlet并重新定义reportServiceInfo()方法(即打印“Hi there,...”的方法)。
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();
}
}
}
然后,您需要在web.xml中更改AxisServlet上的映射以使用该类。