org.apache.axis2.AxisFault: Unable to access unsupported property javax.xml.stream.supportDTD

解决Axis2 DTD访问错误
本文介绍了解决org.apache.axis2.AxisFault错误的方法,该错误源于尝试访问不支持的javax.xml.stream.supportDTD属性。通过在WEB-INF目录下添加weblogic.xml配置文件,并设置优先使用应用程序自身的jar文件而非weblogic自带的jar文件来解决此问题。

 org.apache.axis2.AxisFault: Unable to access unsupported property javax.xml.stream.supportDTD
 at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
 at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
 at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
 at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
 at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
 at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
 at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
 at com.ccic.service.ecm.preuploadimage.intf.PreUploadImageServiceStub.preUploadImage(PreUploadImageServiceStub.java:173)
 at com.sunyard.server.RequestBeans.getWebSvrDTO(RequestBeans.java:90)
 at com.sunyard.server.AutoUpload.sendImagesFormMoreFiles(AutoUpload.java:247)
 at com.sunyard.server.autoUpload.AutoUploadNoOperationThread.run(AutoUploadThread.java:83)

 

 在weblogic 9.2部署时,在WEB-INF下加个配置文件weblogic.xml,优先使用应用程序项目的jar,避免与weblogic的jar冲突。配置文件内容是:

 

<?xml version="1.0" encoding="UTF-8"?>

<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">

<container-descriptor>

<prefer-web-inf-classes>true</prefer-web-inf-classes>

</container-descriptor>

</weblogic-web-app>

这个错误表明Maven无法解析`org.apache.axis2:axis2:jar:1.7.9`的依赖,通常是因为该依赖在配置的仓库中不存在或坐标错误。以下是详细解决方案: --- ### **解决方法** 1. **检查依赖坐标的正确性** Axis2通常以模块形式发布(如`axis2-kernel`、`axis2-adb`),直接依赖`axis2`可能无效。建议改用具体模块,例如: ```xml <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-kernel</artifactId> <version>1.7.9</version> </dependency> ``` 或组合多个模块: ```xml <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-adb</artifactId> <version>1.7.9</version> </dependency> ``` 2. **确认仓库配置** Axis2可能不在默认的Maven中央仓库中,需在`pom.xml`或`settings.xml`中添加Apache官方仓库: ```xml <repositories> <repository> <id>apache-releases</id> <url>https://repository.apache.org/releases/</url> </repository> </repositories> ``` 3. **强制更新依赖** 使用`-U`参数强制Maven重新检查远程仓库: ```bash mvn clean install -U ``` 4. **检查版本是否存在** 访问[Maven中央仓库](https://search.maven.org/)或[Apache仓库](https://repository.apache.org/)确认`1.7.9`版本是否存在。若不存在,尝试升级到最新版本(如`1.8.2`)。 5. **清理本地仓库缓存** 删除本地缓存的失败记录(路径通常为`~/.m2/repository/org/apache/axis2/axis2/1.7.9/`),然后重新构建。 6. **检查网络和代理** 确保网络可访问`repository.apache.org`,必要时在`settings.xml`中配置代理: ```xml <proxies> <proxy> <id>example-proxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.example.com</host> <port>8080</port> </proxy> </proxies> ``` --- ### **根本原因** - 依赖坐标错误(如直接使用`axis2`而非具体模块)。 - 仓库配置缺失或版本不存在。 - 本地缓存了之前的失败下载记录。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1598583

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值