webservice报错javax.xml.ws.soap.SOAPFaultException: javax.xml.ws.WebFault.messageName()

简介:

一、发现问题
JAX-WS规范是一组XML web services的JAVA API。JAXWS-RI是其的一个包。
用jaxws-ri-2.2.5.zip做webservice,将jaxws-ri-2.2.5.zip中lib内容拷贝到web project的lib中,运行时使用该包时抛出异常:javax.xml.ws.soap.SOAPFaultException: javax.xml.ws.WebFault.messageName() Ljava/lang/String。


二、原因分析
JAXWS-RI包中使用了WebFault对象,JDK也提供该对象,但JDK的WebFault对象没有messageName这个方法,Tomcat会优先加载JDK里的对象,这就是包冲突问题。

这就需要建立endorsed文件夹。可理解为将endorsed文件夹里的包修打入到虚拟机指定的启动API中取而代之。但能够覆盖的类是有限的,如不包括java.lang包中的类。例如在jdk\jre\lib建立的endorsed文件夹里的包会覆盖该JDK的lib中原有的包。Tomcat里的Webfault对象也和JAXWS-RI冲突。故需要在JDK和Tomcat里面都要新建endorsed文件夹,放入JAXWS-RI里的相关包。


三、解决方案

步骤一:将jaxws-api.jar包copy到jdk的jre\lib\endorsed
步骤二:将jaxws-api.jar和jsr181-api.jar包copy到tomcat\endorsed中
若没有endorsed文件夹,新建即可。jaxws-ri.2.5.5下载地址:http://download.csdn.net/download/woshixuye/6513149

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1321094如需转载请自行联系原作者


woshixuye111

相关文章
|
3天前
|
XML JavaScript 数据格式
打开 XML 文件报错 There is no Unicode byte order mark
打开 XML 文件报错 There is no Unicode byte order mark
43 0
|
3天前
|
XML 开发框架 .NET
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
186 2
|
3天前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
378 1
|
3天前
|
XML JSON 数据格式
xml文档解析报错解决办法
xml文档解析报错解决办法
|
3天前
|
XML 数据格式
AXios接受XML格式的webservice并解析成数据格式
AXios接受XML格式的webservice并解析成数据格式
28 2
|
3天前
|
XML Java 数据格式
javaweb实训第五天下午——xml配置文件约束报错问题
问题描述: 如果电脑连不上网,或者网速不好可能会造成Spring框架中xml配置文件出现错误。但是这个错误不影响项目的运行的;
22 0
|
3天前
|
XML 数据格式
restTemplat发post请求报错Content type ‘application/xml;charset=UTF-8‘ not supported“
restTemplat发post请求报错Content type ‘application/xml;charset=UTF-8‘ not supported“
|
6月前
Cannot download repomd.xml解决CentOS8 yum安装AppStream报错
Cannot download repomd.xml解决CentOS8 yum安装AppStream报错
106 0
|
6月前
|
搜索推荐 Java Maven
maven项目(引入依赖失败, pom.xml 报错\爆红)
maven项目(引入依赖失败, pom.xml 报错\爆红)
443 0
|
9月前
|
前端开发 Java Maven
项目web.xml中配置DispatcherServlet时,红色波浪线报错(Cannot resolve Servlet ‘DispatcherServlet‘)
项目web.xml中配置DispatcherServlet时,红色波浪线报错(Cannot resolve Servlet ‘DispatcherServlet‘)