当前位置:Gxlcms > mysql > org.apache.axis2.AxisFault:Transporterror:403Error:Forb

org.apache.axis2.AxisFault:Transporterror:403Error:Forb

时间:2021-07-01 10:21:17 帮助过:43人阅读

一个上线很久的生产系统某项功能突然不正常,开发人员分析日志后作出重启系统的决定。 重启系统时后台出现下述错误: 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_64 x86_64 x86_64 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:64)
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

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

人气教程排行