web应用程序war中的Weblogic 12.2.1 RegistrationService_V10映射到多个servlet

web应用程序war中的Weblogic 12.2.1 RegistrationService_V10映射到多个servlet,weblogic,webservice-client,servlet-3.0,Weblogic,Webservice Client,Servlet 3.0,我正在使用Weblogic 12.2.1,并添加了一个JAX-WS客户端。在eclipse中运行时,它可以完美运行,但如果我尝试通过管理控制台部署war文件,我会得到: web应用程序webApp.war中的url模式RegistrationService_V10映射到多个servlet。我唯一能找到引用的地方是注册服务V10类中的com.oracle.webservices.wls.wls-soap-stack-impl包,该类被注释为注册服务V10的webservice,但这是我唯一能找到引

我正在使用Weblogic 12.2.1,并添加了一个JAX-WS客户端。在eclipse中运行时,它可以完美运行,但如果我尝试通过管理控制台部署war文件,我会得到:
web应用程序webApp.war中的url模式RegistrationService_V10映射到多个servlet。我唯一能找到引用的地方是注册服务V10类中的com.oracle.webservices.wls.wls-soap-stack-impl包,该类被注释为注册服务V10的webservice,但这是我唯一能找到引用的地方,在我的web.xml中没有映射,那么多个servlet映射从何而来。

我知道这个问题不久前就被问到了,但我也遇到了同样的问题,通过阅读这个问题,我找到了答案,以下是对我有效的方法:

我也有同样的问题,我是否在存储库中的每个文件上搜索文本“RegistrationService_V10”(和“RegistrationService_V11”,因为我也遇到了这个问题),但它不存在

问题是存在多个weblogic jar文件。我使用maven将依赖项复制到weblogic域库文件夹中,但由于代码依赖于weblogic,因此它也复制了大量weblogic jar文件。这导致在我的weblogic应用程序类路径(服务器自己的weblogic文件和我导入的文件)中有相同文件的多个副本。因此,代码多次尝试用相同的名称注册相同的服务时会出现问题

解决方案是确保weblogic只能使用weblogic jar文件的一个副本(这是weblogic的一部分;您不应该在中复制任何副本)


希望这能帮助您或其他人解决同样的问题。

在将war文件上载到WebLogic server时,我遇到了类似的问题

在互联网上搜寻答案后,我无意中发现了这个问题,并由此得出了答案

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

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

  • 在web.xml中将元数据完成属性设置为true


通过将
metadata complete
放在my 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">