视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
org.apache.axis2.AxisFault:Transporterror:403Error:Forb
2020-11-09 07:37:15 责编:小采
文档


一个上线很久的生产系统某项功能突然不正常,开发人员分析日志后作出重启系统的决定。 重启系统时后台出现下述错误: org.apache.axis2.AxisFault: Transport error: 403 Error: Forbidden 导致tomcat无法重启成功,由于tomcat下部署了多个应用,临时又找不到

一个上线很久的生产系统某项功能突然不正常,开发人员分析日志后作出重启系统的决定。
重启系统时后台出现下述错误:org.apache.axis2.AxisFault: Transport error: 403 Error: Forbidden
导致tomcat无法重启成功,由于tomcat下部署了多个应用,临时又找不到解决问题的方法。
只能先禁用这个功能,让其他的系统可以正常工作。


系统所在环境如下:
jdk 版本:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)

tomcat版本:
Server version: Apache Tomcat/6.0.20
Server built: May 14 2009 01:13:50
Server number: 6.0.20.0
OS Name: Linux
OS Version: 2.6.32-200.13.1.el5uek
Architecture: i386
JVM Version: 1.6.0_14-b08
JVM Vendor: Sun Microsystems Inc.

操作系统:
Linux 2.6.32-200.13.1.el5uek #1 SMP Wed Jul 27 21:02:33 EDT 2011 x86_ x86_ x86_ GNU/Linux


具体错误信息:
org.apache.axis2.AxisFault: Transport error: 403 Error: Forbidden
at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:310)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:200)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:540)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:521)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
at com.*.invokeWebService(MuZhiUtil.java:36)
at com.*.loginSMS(MuZhiUtil.java:)
at com.*.sendSourceNoSMS(MuZhiUtil.java:108)
at com.*.etaNoticeSMS(MuZhiDao.java:452)
at com.*.execute(ETANoticeSMSJob.java:14)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
java.lang.NullPointerException
at com.*.loginSMS(MuZhiUtil.java:65)
at com.*.sendSourceNoSMS(MuZhiUtil.java:108)
at com.*.etaNoticeSMS(MuZhiDao.java:452)
at com.*.execute(ETANoticeSMSJob.java:14)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)

描述一下问题的解决思路及大致过程:
首先程序没有任何改动,操作系统,数据库均正常,tomcat的配置没有改变。
本来正常的功能突然出现问题,基本可以排除是程序的问题。问题定位在系统的运行环境上。
而操作系统,数据库,包括tomcat的配置除了我基本上没人敢去改动,而程序的升级肯定会
通知我的。可能是什么原因呢?只能是程序运行的“环境”发生了变化,可能是什么呢?

在windows上做如下操作:
1.把有问题的程序从生产拷贝到windows测试环境,连测试库,一切正常。
证明了不是程序的问题。
2.把程序指向生产库,一切正常。
证明不是生产数据库的问题。

在linux上重复上述操作:
1.把有问题的程序从生产拷贝到Linux测试环境,连测试库,一切正常。
证明了不是程序的问题,也不是操作系统的问题。

2.把程序指向生产库,一切正常。
证明不是生产数据库的问题。

排除了程序,操作系统,数据库及运行环境的问题,还有什么可能呢?

中间件,网络?

3.把生产环境的tomcat,应用拷贝到测试环境,重启应用出错。
同样的程序在不同的tomcat上运行结果不一致,看来是tomcat的问题了。
对比测试和生产的tomca发现生产与测试的tomcat/conf/catalina.properties有差异 。

原来生产tomcat的catalina.properties中设置有代理。测试环境没有。
把生产tomcat的代理去掉后,一样启动正常。
看来问题找到了,是代理的问题
tomcat/conf/catalina.properties
http.proxyHost=192.168.0.208
http.proxyPort=8080

原来网管修改了代理,对这个代理做了一些。所以导致本来正常的应用突然出现了上述错误。

下载本文
显示全文
专题