Tuesday, November 4, 2014

Resolving BEA-101216 and MDS-00054 (composite.xml does not exist) at SOA server startup

Problem:

The soa-infra application was causing the soa_server1 to go into ADMIN mode with the following error in the logs:
<Nov 4, 2014 12:43:22 PM EDT> <Error> <oracle.integration.platform.blocks.cluster> <BEA-000000> <Starting in multicast, rather than unicast, mode for SOA/Coherence clustering. This is not the configuration recommended by the Oracle Enterprise Deployment Guide (EDG). If continuing to use multicast you may run into deployment issues if there are multicast address conflicts with other servers on your network. If attempting unicast operation, make sure the unicast well-known addresses (-Dtangosol.coherence.wka1, -Dtangosol.coherence.wka2,..) and ports are set for scaling out to multiple servers per the EDG.>
INFO: FaultPoliciesParser.<init> ------->Constructed Policy parser 
<Nov 4, 2014 12:44:02 PM EDT> <Warning> <oracle.soa.services.notification> <BEA-000000> <<.> With the current setting, only Email notifications will be sent; Notifications via voice, SMS or IM will not be sent. If you would like to enable them, please configure corresponding sdpmessaging driver. Then modify the accounts and set NotificationMode attribute to ALL in workflow-notification-config.xml>
BPMNServiceEngine=> constructed ....
log4j:WARN No appenders could be found for logger (wsif).
log4j:WARN Please initialize the log4j system properly. 
<Nov 4, 2014 12:45:02 PM EDT> <Warning> <oracle.as.jmx.framework.MessageLocalizationHelper> <J2EE JMX-46041> <The resource for bundle "oracle.soa.management.config.identity.mbeans.MessageBundle_en" with key "ProviderMXBean.SearchableUserAttributMapAdd" cannot be found.> 
<Nov 4, 2014 12:45:23 PM EDT> <Error> <HTTP> <BEA-101216> <Servlet: "FabricInit" failed to preload on startup in Web application: "/soa-infra".
oracle.fabric.common.FabricException: Error in getting XML input stream: oramds:/deployed-composites/HelloWorld_rev1.0/composite.xml: oracle.mds.exception.MDSException: MDS-00054: The file to be loaded oramds:/deployed-composites/HelloWorld_rev1.0/composite.xml does not exist.
at oracle.fabric.common.metadata.MetadataManagerImpl.getInputStreamFromAbsoluteURL(MetadataManagerImpl.java:288)
at oracle.integration.platform.common.MDSMetadataManagerImpl.getInputStreamFromAbsoluteURL(MDSMetadataManagerImpl.java:624)
at oracle.fabric.common.metadata.MetadataManagerImpl.getDocumentAsInputStream(MetadataManagerImpl.java:164)
at oracle.integration.platform.common.MDSMetadataManagerImpl.getDocumentAsInputStream(MDSMetadataManagerImpl.java:486)
at oracle.integration.platform.kernel.FabricKernelInitializerServlet.deployComposite(FabricKernelInitializerServlet.java:762)
Truncated. see log file for complete stacktrace
Caused By: java.io.IOException: oracle.mds.exception.MDSException: MDS-00054: The file to be loaded oramds:/deployed-composites/HelloWorld_rev1.0/composite.xml does not exist.
We are unable to undeploy the faulty composite HelloWorld while the soa-infra application is down.


Solution:

To undeploy a SOA composite application while the soa-infra application is down, perform the following steps.

1. See Oracle Support Doc ID 1380835.1 and download ShareSoaInfraPartition.ear

2. Run the following commands:
cp ShareSoaInfraPartition.ear /u01/app/oracle/middleware/oracle_common/common/bin 
cd /u01/app/oracle/middleware/oracle_common/common/bin 
./wlst.sh 
connect() 
deploy('ShareSoaInfraPartition','ShareSoaInfraPartition.ear',upload='true') 
exportMetadata(application='ShareSoaInfraPartition',server='AdminServer',toLocation='/tmp/ahmed',docs='/deployed-composites/deployed-composites.xml') 
vi /tmp/ahmed/deployed-composites/deployed-composites.xml

3. Delete the lines of that are of the composite you want removed. For example, delete these lines in the file:
<composite-series name="default/HelloWorld" default="default/HelloWorld!1.0"> 
  <composite-revision dn="default/HelloWorld!1.0" state="on" mode="active" location="dc/soa_642a5dc3-5453-447e-b8a8-b707907cb6f6"> 
    <composite dn="default/HelloWorld!1.0*soa_e566512d-69ef-4d29-83dd-c3d38ce14916" deployedTime="2014-02-27T19:02:26.120-05:00"/> 
    <composite dn="default/HelloWorld!1.0*soa_642a5dc3-5453-447e-b8a8-b707907cb6f6" deployedTime="2014-06-23T14:41:03.155-04:00"/> 
  </composite-revision> 
</composite-series>
4. Then run this final command:
importMetadata(application='ShareSoaInfraPartition',server='AdminServer',fromLocation='/tmp/ahmed',docs='/deployed-composites/deployed-composites.xml')

References:
  • Oracle Support Doc ID 1380835.1

Applicable Versions:
  • Oracle SOA Suite 11g (11.1.1.5+) 

 

5 comments:

Alexandre Antunes said...

Very Good! Congratulations!

Anonymous said...

whether this solution can be applied on soa 12c?

VG said...
This comment has been removed by the author.
VG said...

Hi,

I have faced same issue
"BEA-101216 and MDS-00054 (composite.xml does not exist) at SOA server startup".
This caused SOA INFRA not to start in ACTIVE mode.

Resolution is fine but need to know suddenly why we get this error that composite.xml does not exist?
Even when the refrence composite.xml was available in MDS and service was running fine what causes this Error to occur? What is the root cause behind this?

Ahmed Aboulnaga said...

Hey Vinay,

I can't remember for sure since it's been a while. First, this is a very rare occurrence. It has probably happened twice in my entire career working with SOA Suite.

I'm guessing it could be related to an interrupted write to the database that could have happened during a recent server crash.

My recommendation is that unless it is a frequently recurring problem (which likely it is not), don't waste hundreds of hours between troubleshooting and Oracle Support to get to the root cause.