Friday, January 21, 2011

MDS-00054: The file to be loaded does not exist

Problem:

If you compile a SOA Suite 11g composite project, you may receive an error similar to the following error under the Compiler log:
Error: Load of wsdl "HelloWorld.wsdl with Message part element undefined in wsdl [file:/C:/svn/HelloWorld/HelloWorld2.wsdl] part name = QueryHelloNameRequestEBM type = {http://ns.ipnweb.com/EnterpriseBusinessObjects/HelloName}QueryHelloNameRequestEBM" failed
Error(3,222): Load of wsdl "HelloWorld.wsdl with Message part element undefined in wsdl [http://oradev/HelloNameWS/services/HelloNameService/wsdl/HelloName.wsdl] part name = parameters type = {http://xsd.services.ipnweb.com}IdentityValidationAvailableResponse" failed
Warning(20,208): Failed to Find Binding "HelloWorldSOAP":"{http://services.ipnweb.com}HelloNameService" in WSDL Manager
You may also receive an error similar to the following under the SOA log:
Buildfile: C:\Oracle\Middleware\jdeveloper\bin\ant-sca-compile.xml

scac:
     [scac] Validating composite "C:\svn\HelloWorld\composite.xml"
     [scac] oracle.fabric.common.wsdl.XSDException: Error loading schema from file:/C:/svn/HelloWorld/HelloWorld.wsdl [Cause=Error in getting XML input stream: oramds:/apps/AIAMetaData/ns.ipnweb.com/EnterpriseBusinessObjects/HelloWorld.xsd: oracle.mds.exception.MDSException: MDS-00054: The file to be loaded oramds:/apps/AIAMetaData/ns.ipnweb.com/EnterpriseBusinessObjects/HelloWorld.xsd does not exist.]
     [scac]     at oracle.fabric.common.wsdl.SchemaBuilder.loadEmbeddedSchemas(SchemaBuilder.java:496)
     [scac]     at oracle.fabric.common.wsdl.SchemaBuilder.loadSchemasFromWSDL(SchemaBuilder.java:365)
     [scac]     at oracle.fabric.common.wsdl.SchemaBuilder.loadAllSchemas(SchemaBuilder.java:202)
     [scac]     at oracle.fabric.common.wsdl.SchemaManager.loadAllXSD(SchemaManager.java:139)
     [scac]     at oracle.fabric.common.wsdl.SchemaManager.buildXDKSchema(SchemaManager.java:348)
     [scac]     at oracle.fabric.common.wsdl.SchemaManager.lookupSchema(SchemaManager.java:216)
     [scac]     at oracle.fabric.common.wsdl.SchemaManager.lookupXSDElementDeclaration(SchemaManager.java:399)
     [scac]     at oracle.soa.scac.WSDLValidator.validateMessageParts(WSDLValidator.java:112)
     [scac]     at oracle.soa.scac.WSDLValidator.validateMessages(WSDLValidator.java:88)
     [scac]     at oracle.soa.scac.WSDLValidator.validate(WSDLValidator.java:47)
     [scac]     at oracle.soa.scac.WSDLValidator.validate(WSDLValidator.java:40)
     [scac]     at oracle.soa.scac.ValidateComposite.loadWSDLs(ValidateComposite.java:1004)
     [scac]     at oracle.soa.scac.ValidateComposite.doValidation(ValidateComposite.java:568)
     [scac]     at oracle.soa.scac.ValidateComposite.run(ValidateComposite.java:156)
     [scac]     at oracle.soa.scac.ValidateComposite.main(ValidateComposite.java:141)
     [scac] Caused by: oracle.fabric.common.FabricException: Error in getting XML input stream: oramds:/apps/AIAMetaData/ns.ipnweb.com/EnterpriseBusinessObjects/HelloName/HelloWorld.xsd: oracle.mds.exception.MDSException: MDS-00054: The file to be loaded oramds:/apps/AIAMetaData/ns.ipnweb.com/EnterpriseBusinessObjects/HelloName/HelloWorld.xsd does not exist.
     [scac]     at oracle.fabric.common.metadata.MetadataManagerImpl.getInputStreamFromAbsoluteURL(MetadataManagerImpl.java:276)
     [scac]     at oracle.integration.platform.common.MDSMetadataManagerImpl.getInputStreamFromAbsoluteURL(MDSMetadataManagerImpl.java:545)
     [scac]     at oracle.fabric.common.metadata.MetadataManagerImpl.getDocumentAsInputStream(MetadataManagerImpl.java:155)
     [scac]     at oracle.integration.platform.common.MDSMetadataManagerImpl.getDocumentAsInputStream(MDSMetadataManagerImpl.java:407)
     [scac]     at oracle.fabric.common.wsdl.SchemaBuilder.parseXMLSrc(SchemaBuilder.java:964)
     [scac]     at oracle.fabric.common.wsdl.SchemaBuilder.parseXSDSrc(SchemaBuilder.java:919)
     [scac]     at oracle.fabric.common.wsdl.SchemaBuilder.processSchemaImportsAndInclude(SchemaBuilder.java:769)
     [scac]     at oracle.fabric.common.wsdl.SchemaBuilder.loadEmbeddedSchemas(SchemaBuilder.java:492)
     [scac]     ... 14 more
     [scac] Caused by: java.io.IOException: oracle.mds.exception.MDSException: MDS-00054: The file to be loaded oramds:/apps/AIAMetaData/ns.ipnweb.com/EnterpriseBusinessObjects/HelloName/HelloWorld.xsd does not exist.
     [scac]     at oracle.mds.internal.net.AbstractOraMDSURLConnection.getPDocStream(AbstractOraMDSURLConnection.java:388)
     [scac]     at oracle.mds.internal.net.AbstractOraMDSURLConnection.getInputStream(AbstractOraMDSURLConnection.java:176)
     [scac]     at oracle.mds.internal.net.OraMDSURLConnection.getInputStream(OraMDSURLConnection.java:67)
     [scac]     at java.net.URL.openStream(URL.java:1010)
     [scac]     at oracle.fabric.common.metadata.MetadataManagerImpl.getInputStreamFromAbsoluteURL(MetadataManagerImpl.java:272)
     [scac]     ... 21 more
     [scac] Caused by: oracle.mds.exception.MDSException: MDS-00054: The file to be loaded oramds:/apps/AIAMetaData/ns.ipnweb.com/EnterpriseBusinessObjects/HelloName/HelloWorld.xsd does not exist.
     [scac]     at oracle.mds.internal.net.AbstractOraMDSURLConnection.getPDocStream(AbstractOraMDSURLConnection.java:339)
     [scac]     ... 25 more
     [scac] FATAL_ERROR: location {/ns:composite/ns:import[@location='file:/C:/svn/HelloWorld/HelloWorld2.wsdl']}: Load of wsdl "HelloWorld.wsdl with Message part element undefined in wsdl [file:/C:/svn/HelloWorld/HelloWorld2.wsdl] part name = QueryHelloNameRequestEBM    type = {http://ns.ipnweb.com/EnterpriseBusinessObjects/HelloName}QueryHelloNameRequestEBM" failed
     [scac] FATAL_ERROR: location {/ns:composite/ns:import[@location='file:/C:/svn/HelloWorld/HelloWorld.wsdl']}: Load of wsdl "HelloWorld.wsdl with Message part element undefined in wsdl [file:/C:/svn/HelloWorld/HelloWorld.wsdl] part name = QueryHelloNameRequestEBM    type = {http://ns.ipnweb.com/EnterpriseBusinessObjects/HelloName}QueryHelloNameRequestEBM" failed
     [scac] FATAL_ERROR: location {/ns:composite/ns:import[@location='http://oradev/HelloNameWS/services/HelloNameService/wsdl/HelloNameSOAP.wsdl']}(3,222): Load of wsdl "HelloWorld.wsdl with Message part element undefined in wsdl [http://oradev/HelloNameWS/services/HelloNameService/wsdl/HelloName.wsdl] part name = parameters    type = {http://xsd.services.ipnweb.com}IdentityValidationAvailableResponse" failed
     [scac] FATAL_ERROR: location {/ns:composite/ns:import[@location='http://oradev/HelloNameWS/services/HelloNameService/wsdl/HelloName.wsdl']}: Load of wsdl "HelloWorld.wsdl with Message part element undefined in wsdl [http://oradev/HelloNameWS/services/HelloNameService/wsdl/HelloName.wsdl] part name = parameters    type = {http://xsd.services.ipnweb.com}IdentityValidationAvailableResponse" failed
     [scac] WARNING: location {/ns:composite/ns:reference[@name='HelloWorldSOAP']}(20,208): Failed to Find Binding "HelloWorldSOAP":"{http://services.ipnweb.com}HelloNameService" in WSDL Manager

BUILD FAILED
C:\Oracle\Middleware\jdeveloper\bin\ant-sca-compile.xml:236: Java returned: 1 Check log file : C:\svn\HelloWorld\SCA-INF\classes\scac.log for errors

Total time: 38 seconds

Solution:

1. One way to resolve this is to create an adf-config.xml file in your project folder under this directory:
C:\svn\HelloWorld\SCA-INF\classes\META-INF
2. The file format would look like this (lines in bold may need to be modified):
<?xml version="1.0" encoding="windows-1252" ?>
<adf-config xmlns="http://xmlns.oracle.com/adf/config" xmlns:adf="http://xmlns.oracle.com/adf/config/properties">
  <adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/properties">
    <adf-property name="adfAppUID" value="TemporaryMDS-2296"/>
  </adf:adf-properties-child>
  <adf-mds-config xmlns="http://xmlns.oracle.com/adf/mds/config">
    <mds-config xmlns="http://xmlns.oracle.com/mds/config">
      <persistence-config>
        <metadata-namespaces>
          <namespace metadata-store-usage="mstore-usage_1" path="/apps"/>
          <namespace metadata-store-usage="mstore-usage_1" path="/deployed-composites"/>
          <namespace metadata-store-usage="mstore-usage_1" path="/soa"/>
        </metadata-namespaces>
        <metadata-store-usages>
          <metadata-store-usage id="mstore-usage_1">
            <metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
              <property value="MDSSchema" name="jdbc-userid"/>
              <property value="MDSPassword" name="jdbc-password"/>
              <property value="jdbc:oracle:thin:@//MDSHost:MDSPort/MDSDBName" name="jdbc-url"/>
              <property value="soa-infra" name="partition-name"/>
            </metadata-store>
          </metadata-store-usage>
        </metadata-store-usages>
      </persistence-config>
    </mds-config>
  </adf-mds-config>
</adf-config>
This is to provide the MDS connection information to the compiler so that it can connect to the MDS to load the schema that you are trying to load via the "oramds" reference.

Alternatively, you can update the ~/.adf/adf-config.xml file in your application folder (which is probably preferred, since it won't get deleted after compilation, and applies to all your projects).


Applicable Versions:
  • Oracle SOA Suite 11g (11.1.1.x)

1 comment:

Anonymous said...

Hi,
Can you please tell me what paths needs to be given here and how do I locate it on my server?





Thanks!