web service访问的问题

yixiaogang109 2011-10-19 03:11:13
webservice发布成功后能访问到服务的WSDL文件,但是用客户端访问的时候出现以下错误
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Unexpected Error
at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:188)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:108)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
at $Proxy34.getDisplayLiveChannel(Unknown Source)
at test.Test.main(Test.java:22)
这个是怎么回事啊?
...全文
128 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
数据流 2011-10-20
  • 打赏
  • 举报
回复
Jboss的soap实现的是JDK1.5的javax.xml.soap.SoapMessage接口,
这个接口的setProperty方法在老版本是不需要override的,
但是到了Java1.6,由于Java1.6的jdk本身自带soap包,
而自带的这个包的SoapMessage接口对setProperty方法又强制其实现类要override自身,
否则抛出上述异常。
解决办法:
A方案
1.把${JBOSS_HOME}/lib/中除了getopt.jar, jboss-system.jar, jboss-jmx.jar其他所有的jar拷贝进${JBOSS_HOME}/lib/endorsed
2.同时拷贝${JBOSS_HOME}/client/目录中的jboss-saaj.jar ,jboss-jaxrpc.jar到${JBOSS_HOME}/lib/endorsed目录下
这样服务器将使用jboss自带的老版本

B方案
JBoss使用JDK1.5,而客户端则JDK1.5,JDK1.6均可.
yixiaogang109 2011-10-20
  • 打赏
  • 举报
回复
谢谢啦 我换了一个jboss就可以了 是环境的问题
luyun2011 2011-10-19
  • 打赏
  • 举报
回复
应该是没有配置好的原因,不是代码错误

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧