Weblogic 12.2.1中Web应用程序war中的RegistrationService_V10被映射到多个Servlet。

3
我正在使用Weblogic 12.2.1,并添加了一个JAX-WS客户端。在eclipse中运行时,它可以完美地运行,但如果我尝试通过管理控制台部署war文件,则会出现以下错误: web应用程序webApp.war中的url-pattern RegistrationService_V10被映射到多个Servlets。我唯一找到参考的地方是com.oracle.webservices.wls.wls-soap-stack-impl包中的RegistrationServiceV10类,该类被注释为RegistrationService_V10的webservice,但那是我能找到的唯一参考,它没有映射在我的web.xml中,那么这个多重servlet映射来自哪里呢?
2个回答

1
我知道这个问题已经被问了一段时间,但是我遇到了同样的问题,阅读这个问题让我找到了答案,所以这就是对我有用的内容:
我遇到了同样的问题,在存储库中的每个文件上进行了文本搜索,寻找文本“RegistrationService_V10”(和“RegistrationService_V11”,因为我也遇到了这个问题),但没有找到。
问题在于存在多个weblogic jar文件。我正在使用maven将我的依赖项复制到weblogic域lib文件夹中,但由于代码依赖于weblogic,它也会复制整个主机的weblogic jar文件。这导致我的weblogic应用程序类路径中存在多个相同文件的副本(服务器自己的weblogic文件和我的导入文件)。因此,代码尝试注册具有相同名称的相同服务时会出现问题。
解决方案是确保只有一个weblogic jar文件的副本可供weblogic使用(这是weblogic的一部分;您不应该复制任何文件)。
希望这可以帮助您或其他遇到同样问题的人。

0

当我上传我的war文件到WebLogic服务器时,我遇到了类似的问题。

在搜索互联网以寻找答案后,我偶然发现了这个问题 映射到多个servlet,从而引导我进入了OpenAM weblogic bugtracker

解决方法是通过以下方式禁用注释处理:

  • 使用 -Dweblogic.servlet.DIDisabled=true 参数启动WebLogic

或者

  • 在web.xml中将metadata-complete属性设置为true
<web-app metadata-complete="true" id="WebApp_ID" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

通过在我的web.xml中加入metadata-complete,问题得以解决。


在我的情况下,添加了 metadata-complete="true" 后,应用程序忽略了 <context-param> 的值。 - Haripriya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接