我们正在将项目从java 6迁移到java 8,作为迁移的一部分,我们将weblogic服务器从11g R1升级到12c R2。
新版本中缺少一些weblogic库,我们的项目似乎依赖于它。特别是,这些库是
modules\com.oracle.ws.orawsdl_1.4.0.0.jar
modules\com.oracle.ws.http_client_1.4.0.0.jar
它们在先前weblogic安装的PRE_CLASSPATH
上的setDomainEnv.sh
变量中定义。我不知道它们的用途是什么以及它们的使用位置(是否有一些技巧可以跟踪它们在项目源中的使用情况?),并且新安装无法找到它们。
我试图从Oracle_home
目录
find . -type f -iname "*orawsdl*"
./oracle_common/modules/com.oracle.webservices.orawsdl-api.jar
./oracle_common/plugins/maven/com/oracle/fmwshare/com.oracle.webservices.orawsdl-api/12.2.1/com.oracle.webservices.orawsdl-api-12.2.1.location
./oracle_common/plugins/maven/com/oracle/fmwshare/com.oracle.webservices.orawsdl-api/12.2.1/com.oracle.webservices.orawsdl-api-12.2.1.pom
./oracle_common/plugins/maven/com/oracle/fmwshare/oracle.webservices.orawsdl/12.2.1/oracle.webservices.orawsdl-12.2.1.pom
./oracle_common/plugins/maven/com/oracle/fmwshare/orawsdl/12.2.1/orawsdl-12.2.1.pom
./inventory/featuresets/resources/modules/orawsdl_12.2.1.2.0.jar
./inventory/featuresets/orawsdl_12.2.1.2.0.xml
./inventory/refcounts/featuresets/orawsdl_12.2.1.2.0.ref
./inventory/refcounts/components/oracle.webservices.orawsdl_12.2.1.2.0.ref
find . -type f -iname "*http_client*"
./oracle_common/http_client_12.jar
./oracle_common/modules/com.oracle.http_client.http_client.jar
./oracle_common/ccr/lib/http_client_12.jar
./oracle_common/ccr/lib/http_client_11116.jar
./oracle_common/plugins/maven/com/oracle/fmwshare/oracle.http_client/12.2.1/oracle.http_client-12.2.1.pom
./oracle_common/plugins/maven/com/oracle/fmwshare/com.oracle.http_client.http_client/12.2.1/com.oracle.http_client.http_client-12.2.1.pom
./oracle_common/plugins/maven/com/oracle/fmwshare/com.oracle.http_client.http_client/12.2.1/com.oracle.http_client.http_client-12.2.1.location
./oracle_common/http_client_11116.jar
./inventory/refcounts/components/oracle.http_client_12.2.1.2.0.ref
./oui/modules/http_client.jar
没有什么是指同一个包装,但是这些包装是否适当?
此外,当我尝试部署到新服务器安装时,我收到以下错误。
java.lang.ClassNotFoundException: org.apache.commons.pool2.BasePooledObjectFactory
在weblogic类路径中删除apache commons-pool
lib之后(以前的安装中从未需要),我得到了不同的错误
Unable to find policy: "usernamedigest.xml", please make sure to use dynamic wsdl when initializing the service stub
重要提示
如果我将metadata-complete=true
定义为所有web.xml
文件,部署成功,但我确定这不聪明,因为它可能会绕过一些我不知道的重要配置。那么我该如何解决这个问题的原因呢?
我认为这与weblogic如何试图控制不应该使用的Web服务有关。在项目中axis
用作Web服务实现。在成功部署(旧weblogic和设置了metadata-complete=true
的新weblogic)中,部署概述的 Web服务部分下只显示一个Web服务。
但是,部署失败(userdigest.xml错误)所有 Web服务都显示在此选项卡下,就好像weblogic试图通过某些注释扫描来控制它们一样,我猜。
以下是来自日志文件的错误消息
<24.7.2017, 11:16:55,876 ap. EEST> <Error> <HTTP> <BEA-101216> <Servlet: "fi.sysopen.hekopassi.vrk.tv.TV_DATA2HekopassiImpl" failed to preload on startup in Web application: "/hekopassi".
javax.xml.ws.WebServiceException: Unable to find policy: "usernamedigest.xml", please make sure to use dynamic wsdl when initializing the service stub
at weblogic.wsee.jaxws.WLSTubelineAssemblerFactory$WLSTubelineAssemblerImpl.createServer(WLSTubelineAssemblerFactory.java:374)
at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:193)
at weblogic.wsee.jaxws.WLSContainer$WLSEndpointFactory$WLSEndpointImpl.<init>(WLSContainer.java:774)
at weblogic.wsee.jaxws.WLSContainer$WLSEndpointFactory.create(WLSContainer.java:725)
at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:332)
Truncated. see log file for complete stacktrace
Caused By: Unable to find policy: "usernamedigest.xml", please make sure to use dynamic wsdl when initializing the service stub
at weblogic.wsee.policy.runtime.PolicyServer.loadPolicy(PolicyServer.java:183)
at weblogic.wsee.policy.runtime.PolicyServer.getPolicy(PolicyServer.java:118)
at weblogic.wsee.policy.deployment.PolicyRef.getPolicy(PolicyRef.java:216)
at weblogic.wsee.policy.deployment.PolicyReferenceWsdlExtension.getEffectivePolicy(PolicyReferenceWsdlExtension.java:129)
at weblogic.wsee.policy.deployment.WsdlPolicySubject.getEffectivePolicyFromWsdlExtensible(WsdlPolicySubject.java:489)
Truncated. see log file for complete stacktrace
>
INFO [OpenFrame] FrontEnd logging service shutdown completed
INFO [OpenFrame] FrontEnd logging service shutdown completed
INFO [OpenFrame] BackEnd Log4 Logging service is going down!
INFO [OpenFrame] BackEnd Logging service shutdown completed
<24.7.2017, 11:17:01,540 ap. EEST> <Error> <Deployer> <BEA-149231> <Unable to set the activation state to true for the application "hekopassi".
weblogic.application.ModuleException: Unable to find policy: "usernamedigest.xml", please make sure to use dynamic wsdl when initializing the service stub
at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:233)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:228)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
Truncated. see log file for complete stacktrace
Caused By: Unable to find policy: "usernamedigest.xml", please make sure to use dynamic wsdl when initializing the service stub
at weblogic.wsee.policy.runtime.PolicyServer.loadPolicy(PolicyServer.java:183)
at weblogic.wsee.policy.runtime.PolicyServer.getPolicy(PolicyServer.java:118)
at weblogic.wsee.policy.deployment.PolicyRef.getPolicy(PolicyRef.java:216)
at weblogic.wsee.policy.deployment.PolicyReferenceWsdlExtension.getEffectivePolicy(PolicyReferenceWsdlExtension.java:129)
at weblogic.wsee.policy.deployment.WsdlPolicySubject.getEffectivePolicyFromWsdlExtensible(WsdlPolicySubject.java:489)
Truncated. see log file for complete stacktrace