热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

org.apache.axis2.AxisFault:ServiceclassXXXXXmusthavepublicasaccessModifier解决方案

使用Axis2工具生成客户端调用辅助类后,编写客户端调用代码运行时报错,完整错误信息如下:log4j:WARNNoappenderscouldbefoundforlogger

使用Axis2工具生成客户端调用辅助类后,编写客户端调用代码运行时报错,完整错误信息如下:

log4j:WARN No appenders could be found for logger (org.apache.axiom.locator.DefaultOMMetaFactoryLocator).
log4j:WARN Please initialize the log4j system properly.
org.apache.axis2.AxisFault: Service class com.csdn.ws.axis2.recipe01.HelloWorld must have public as access Modifier
    at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:508)
    at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:368)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:414)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:150)
    at com.csdn.ws.axis2.recipe01.HelloWorldStub.sayHello(HelloWorldStub.java:162)
    at com.csdn.ws.axis2.recipe01.client.Client.main(Client.java:15)

乍一看错误信息好像是说web服务接口和实现类必须定义为public,检查代码发现就是public,真正的原因是在services.xml中描述WebService时

"ServiceClass">
        com.csdn.ws.axis2.recipe01.HelloWorldImpl

ServiceClass属性应该指定Web服务实现类,而不是接口。


推荐阅读
author-avatar
嘿听tj说你是被搞出来的
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有