Monitoring Web Services
mpitanga Jan 31, 2005 10:03 AMHi,
I´m have installed a simple-ws4ee HelloWorld example and now work´s fine using the Axis 1.2RC2.
Now, i´d like monitoring this service and i´ve implemented a J2EE Filter that displayed the request and response of web applications at Jboss services Tomcat...
When i execute a client program for access this web service ( simple-ws4ee ) my filter display request action but the soapaction content is null and i´not see soap-message...
This is a problem or i using the wrong mechanism for monitoring this web service...
Request address : 192.168.2.41
RemoteHost : 192.168.2.41
RemotePort : 1696
sessionId : null
method : POST
url : http://popshopdes:8080/simple-ws4ee/exactpath/jse
RemoteUser : null
AuthType : null
ContentType : text/xml; charset=utf-8
RequestURI : /simple-ws4ee/exactpath/jse
QueryString : null
Protocol : HTTP/1.0
PathInfo : null
HeaderNames : content-type Content : text/xml; charset=utf-8
HeaderNames : accept Content : application/soap+xml, application/dime, multi
part/related, text/*
HeaderNames : user-agent Content : Axis/1.2RC2
HeaderNames : host Content : popshopdes:8080
HeaderNames : cache-control Content : no-cache
HeaderNames : pragma Content : no-cache
HeaderNames : soapaction Content : ""
HeaderNames : content-length Content : 439
Request
http
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (filterConfig == null) return;
Date inicio = new Date();
//executa antes da requisição chegar ao servlet
String type = request.getContentType();
if (type == null || type.equals("") || type.contains("x-www-form") || type.contains("text") || type.contains("xml")) {
type = "";
}
String res = "";
String req = "";
req = (String)((HttpServletRequest)request).getScheme();
if (!type.equals("")) {
res = "ContentType="+type;
chain.doFilter(request, response);
}
else {
if (response instanceof HttpServletResponse){
CharResponseWrapper responsewrapper
= new CharResponseWrapper((HttpServletResponse)response);
chain.doFilter(request, responsewrapper);
response.setContentType(type);
HttpServletResponse out = (HttpServletResponse)response;
res = responsewrapper.toString();
out.getOutputStream().print(res);
} else {
chain.doFilter(request, response);
}
}
//executa apos o servlet gerar o response
Date fim = new Date();