注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

清风幻影的博客

Where there is love, I will be there.

 
 
 

日志

 
 
关于我

同是天涯沦落人,相逢何必曾相识. 天生我材必有用,千金散尽还复来. 天若有情天亦老,人间正道是沧桑. 月影西斜人已去, 堤上梅花情依旧, 此情故已成追忆, 美人如玉夜留香

网易考拉推荐

webservice: Could not initialize Service NoSuchMethodException getPortClassMap()  

2012-08-30 17:18:28|  分类: webservice资料 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://javavsnet.iteye.com/blog/1471826

webservice中碰到的问题: Could not initialize Service NoSuchMethodException getPortClassMap()

情况如下:A应用是用jaxws编写的web service客户端,单独运行该客户端成功。
B应用是基于xfire的web service服务,在B中调用A,结果在构造一个Service类的似乎出了上面的错,该类是javax.xml.ws.Service的子类。
在javax.xml.ws.Service中并没有方法getPortClassMap(),那么为什么会报NoSuchMethodException getPortClassMap()这个错呢?
查看javax.xml.ws.Service的源代码,该类的构造函数调用了javax.xml.ws.spi.Provider来创建Service类的代理,程序就是在这一步出错的。
经过搜索,网上建议删除xfire包后该错误会消失,所以判断是类加载的问题。
xfire的包在tomcat/webapps/app/web-inf的lib下,其加载顺序高于由根classloader加载的jdk中的 javax.xml.ws.spi.Provider,所以在创建Service的代理的时候没有使用jdk自带的 javax.xml.ws.spi.Provider,而是使用了xfire包中的javax.xml.ws.spi.Provider。
基于以上判断,我删除了xfire包中的jaxws子包,搞定!
  评论这张
 
阅读(1193)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018