weblogicweblogic12c

Applications failing to start under Weblogic 12.2.1.3.0 (jaxws-tubes-default.xml not found)


Can anyone explain what the file jaxws-tubes-default.xml does and why it's all of a sudden needed when upgrading to Weblogic 12.2.1.3.0 and Java 1.8?


Our IT dept recently upgraded some Weblogic 12.1.2.0.0 servers to Weblogic 12.2.1.3.0 and at the same time upgraded from Java 1.7 to Java 1.8.

I wouldn't expect major breakages in such a minor version change, but there are.

My team is responsible for 2 applications running on these servers and they no longer start after the upgrade.

We get the below error message when we try to start either application:

Error java.lang.IllegalStateException: MASM0001: Default configuration file [ jaxws-tubes-default.xml ] was not found

Nobody on my team had anything to do with creating these applications, but now we have to fix them.

The previous version of the applications never made any reference to the jaxws-tubes-default.xml file nor was that file in our project at all.


These are the dependencies in the project:

<dependencies>
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <version>2.1.3</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>bea.weblogic</groupId>
        <artifactId>wrapper</artifactId>
        <version>1.3</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>bea.weblogic</groupId>
        <artifactId>datasource</artifactId>
        <version>1.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>bea.weblogic</groupId>
        <artifactId>resourcepool</artifactId>
        <version>1.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>bea.weblogic</groupId>
        <artifactId>utils</artifactId>
        <version>1.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
</dependencies>

I've tried some of the solutions in other SO threads, but so far no luck.

I've tried putting the sample jaxws-tubes-default.xml file in all of the below folders of the WAR file and still the error says that it can't find this file:

- META-INF
    - jaxws-tubes-default.xml
- WEB-INF
    - classes
        - META-INF
            - jaxws-tubes-default.xml
        - jaxws-tubes-default.xml
    - jaxws-tubes-default.xml

Update 1: I've also added the jaxws-tubes-default.xml file to the WEB-INF folder, as-per a suggestion, but this also isn't working.

I'm at a point where I think I'm going to have to rewrite this process... but I really don't want to as it'll take some time.

Update 2: I finally got access to the actual WL server that our app is deployed to and was able to extract the logs.

It looks like it's the jaxws library that is causing the issues.

Below is the entire stack-trace that resulted from me trying to startup the application.

####<Feb 11, 2019 11:36:56,502 AM EST> <Info> <J2EE Deployment SPI> <devvm0183> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <devadmin> <> <d1ab1b9d-51c3-4e04-84fb-1d7d9bab855a-00007328> <1549903016502> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-260121> <Initiating start operation for application, myapp_20190211_002 [archive: null], to Payer-AUX .> 
####<Feb 11, 2019 11:36:56,518 AM EST> <Info> <Deployer> <devvm0183> <AdminServer> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <devadmin> <> <d1ab1b9d-51c3-4e04-84fb-1d7d9bab855a-00007328> <1549903016518> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-149038> <Initiating task for myapp_20190211_002 : [Deployer:149026]start application myapp_20190211_002 on Payer-AUX..> 
####<Feb 11, 2019 11:36:58,196 AM EST> <Info> <WorkManager> <devvm0183> <AdminServer> <Timer-2> <<WLS Kernel>> <> <d1ab1b9d-51c3-4e04-84fb-1d7d9bab855a-00000012> <1549903018196> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-002959> <Self-tuning thread pool contains 1 running threads, 0 idle threads, and 12 standby threads> 
####<Feb 11, 2019 11:37:02,762 AM EST> <Warning> <Deployer> <devvm0183> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <d1ab1b9d-51c3-4e04-84fb-1d7d9bab855a-0000732a> <1549903022762> <[severity-value: 16] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-149004> <Failures were detected while initiating start task for application "myapp_20190211_002".> 
####<Feb 11, 2019 11:37:02,762 AM EST> <Warning> <Deployer> <devvm0183> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <d1ab1b9d-51c3-4e04-84fb-1d7d9bab855a-0000732a> <1549903022762> <[severity-value: 16] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: java.lang.IllegalStateException: MASM0001: Default configuration file [ jaxws-tubes-default.xml ] was not found
    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)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:78)
    at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:52)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:752)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:262)
    at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:52)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:90)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:631)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:171)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:121)
    at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:151)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:348)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:907)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1468)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:459)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:181)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:217)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:14)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:69)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:678)
    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)
Caused By: java.lang.IllegalStateException: MASM0001: Default configuration file [ jaxws-tubes-default.xml ] was not found
    at com.sun.xml.ws.assembler.MetroConfigLoader.getConfigInputStream(MetroConfigLoader.java:280)
    at com.sun.xml.ws.assembler.MetroConfigLoader.loadMetroConfig(MetroConfigLoader.java:255)
    at com.sun.xml.ws.assembler.MetroConfigLoader.init(MetroConfigLoader.java:147)
    at com.sun.xml.ws.assembler.MetroConfigLoader.<init>(MetroConfigLoader.java:121)
    at com.sun.xml.ws.assembler.TubelineAssemblyController.getTubeCreators(TubelineAssemblyController.java:122)
    at com.sun.xml.ws.assembler.MetroTubelineAssembler.createServer(MetroTubelineAssembler.java:173)
    at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:193)
    at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:337)
    at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:332)
    at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:164)
    at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:578)
    at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:560)
    at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:303)
    at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:179)
    at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131)
    at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:152)
    at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:705)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
    at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
    at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
    at weblogic.servlet.internal.EventsManager.executeContextListener(EventsManager.java:251)
    at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:204)
    at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:189)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1921)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3101)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1843)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:884)
    at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360)
    at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:356)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
    at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:138)
    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)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:78)
    at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:52)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:752)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:262)
    at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:52)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:90)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:631)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:171)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:121)
    at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:151)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:348)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:907)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1468)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:459)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:181)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:217)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:14)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:69)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:678)
    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)
> 

Solution

  • This is a known bug due to missing jaxws-tubes-default.xml which is expected with JDK 8. It seems that web services metro project works differently with Java 8! In order to resolve this issue, you must include the missing xml file in your ear packaging and deploy. Refer to https://github.com/JetBrains/jdk8u_jaxws/blob/master/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/jaxws-tubes-default.xml for sample xml file. Place the aforementioned xml file in WEB-INF folder.