继上一次给axis2添加handler,module后,最近客户又反应webservice 访问特别慢。一访问发现非常慢,竟然达到了20多秒,第一反应就是网络的问题,因为我们的程序只有简单的字符串处理,而且访问wsdl的速度非常快。
于是使用网络工具 trace 跟踪,在服务器上跟踪一个路由就到了,但是调用本机ip的webservice还是很慢,而且这个也没有进行handler的拦截,不知道为什么这么慢,找了 半天觉得不是网络的问题,然后就在webservice中添加调试代码测试,发现执行的非常快。最后没办法在handler中添加调试方法,发现outflowHandler尽然走了20多遍,导致webservice很慢很慢,可是奇怪的是访问的这个webservice中没有添加这个handler,根本不会进入这个handler的,不知道为什么会调用这么多次,最后在module的xml中讲outflowhandler去除,虽然返回的结果没有记录到日志中,但是传递的数据可以记录,这样方便对接。