October 20, 2010

"XML-24500: (Error) Can not build schema" in JDeveloper 11g

Problem:

We migrated an ESB 10g project to Mediator 11g. What is strange is that this project works completely fine in the 10g world. However, when we try to make or deploy it in JDeveloper 11g, we receive the following error:
Investigation:

Oracle JDeveloper 10g is more liberal in its verification. In fact, our problem was the following.
  • Our JDeveloper 11g composite looks like this:
  • There are 2 external SOAP services, each having its own WSDL. For example:
http://external.ipnweb.org/Location/AddressWebService.svc?wsdl
http://external.ipnweb.org/Contact/ContactWebService.svc?wsdl
  • Observe the schema definition in each of the WSDLs. You will notice that the same namespace is used across both references, but related to different XSDs.
First WSDL
<xsd:schema targetNamespace="http://ns.ipnweb.com/MyApp/AddressWebService/20090101/Imports">
  <xsd:import schemaLocation="http://external.ipnweb.org/Location/AddressWebService.xsd" namespace="http://ns.ipnweb.com/MyApp/Contact/20090101"/>
  <xsd:import schemaLocation="http://external.ipnweb.org/Location/AddressWebService.xsd" namespace="http://ns.ipnweb.com/MyApp/AuditableDomainBase/20090101"/>
</xsd:schema>

Second WSDL
<xsd:schema targetNamespace="http://ns.ipnweb.com/MyApp/ContactWebService/20090101/Imports">
  <xsd:import schemaLocation="http://external.ipnweb.org/Contact/ContactWebService.xsd" namespace="http://ns.ipnweb.com/MyApp/Contact/20090101"/>
  <xsd:import schemaLocation="http://external.ipnweb.org/Contact/ContactWebService.xsd" namespace="http://ns.ipnweb.com/MyApp/Enums/20090101"/>
</xsd:schema>
  • When we open both the XSDs, we can see that the same element is defined identically, but the problem is, the annotations are defined in one of them, but not the other.
First XSD
<xs:complexType name="Organization">
  <xs:complexContent mixed="false">
    <xs:extension base="q1:DomainBase">
      <xs:sequence>
        <xs:element minOccurs="0" name="OrgId" nillable="true" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>

Second XSD
<xs:complexType name="Organization">
  <xs:annotation>
    <xs:appinfo>
      <Surrogate i:type="d1p1:Annotation"/>
    </xs:appinfo>
  </xs:annotation>
  <xs:complexContent mixed="false">
    <xs:extension base="q1:DomainBase">
      <xs:sequence>
        <xs:element minOccurs="0" name="OrgId" nillable="true" type="xs:string">
          <xs:annotation>
            <xs:appinfo>
              <Surrogate i:type="d1p1:Annotation"/>
            </xs:appinfo>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
The fact that the annotations are different is what is causing the XML-24500 error seen above.

Resolution:

Ensure that the XSDs are identical in terms of definition, including annotations.
Buildfile: C:\jdeveloper\bin\ant-sca-compile.xml

scac:
[scac] Validating composite "C:\MyProject\composite.xml"
[scac] oracle.fabric.common.wsdl.XSDException: Global Type declaration/definition of name '{http://ns.ipnweb.com/MyApp/Organization/20090101}Organization' are duplicated at the following locations:
[scac]
[scac] file:/C:/MyProject/ContactWebService.svc_xsd_xsd9.xsd [line#: 6]
[scac] file:/C:/MyProject/AddressWebService.svc_xsd_xsd2.xsd [line#: 6]
[scac] There are at least two of them looking different:
[scac] file:/C:/MyProject/ContactWebService.svc_xsd_xsd9.xsd [difference starting at line#:17]
[scac] file:/C:/MyProject/AddressWebService.svc_xsd_xsd2.xsd [difference starting at line#:17]
[scac]
[scac] Global Type declaration/definition of name '{http://ns.ipnweb.com/MyApp/OrganizationEvent/20090101}OrganizationEvent' are duplicated at the following locations:
[scac]
[scac] file:/C:/MyProject/ContactWebService.svc_xsd_xsd10.xsd [line#: 11]
[scac] file:/C:/MyProject/AddressWebService.svc_xsd_xsd7.xsd [line#: 18]
[scac] There are at least two of them looking different:
[scac] file:/C:/MyProject/ContactWebService.svc_xsd_xsd10.xsd [difference starting at line#:12]
[scac] file:/C:/MyProject/AddressWebService.svc_xsd_xsd7.xsd [difference starting at line#:19]
[scac]
[scac]
[scac] at oracle.fabric.common.wsdl.SchemaBuilder.postProcessXSD(SchemaBuilder.java:330)
[scac] at oracle.fabric.common.wsdl.SchemaBuilder.loadAllSchemas(SchemaBuilder.java:210)
[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]
[scac] <Line 2, Column 172>: XML-24500: (Error) Can not build schema 'http://ns.ipnweb.com/MyApp/Organization/20090101' located at 'http://ns.ipnweb.com/MyApp/Organization/20090101.__OAUX_GENXSD_.TOP.XSD'
[scac] <Line 2, Column 168>: XML-24500: (Error) Can not build schema 'http://ns.ipnweb.com/MyApp/DomainBase/20090101' located at 'http://ns.ipnweb.com/MyApp/DomainBase/20090101.__OAUX_GENXSD_.TOP.XSD'
[scac] <Line 3, Column 162>: XML-24500: (Error) Can not build schema 'http://ns.ipnweb.com/MyApp/Contact/20090101' located at 'http://ns.ipnweb.com/MyApp/Contact/20090101.__OAUX_GENXSD_.TOP.XSD'
[scac] <Line 106, Column 164>: XML-24528: (Error) Invalid reference: 'http://ns.ipnweb.com/MyApp/Organization/20090101:Organization'
[scac]
[scac] FATAL_ERROR: location {/ns:composite/ns:import[@location='file:/C:/MyProject/AddressWebService.svc_wsdl_wsdl0.wsdl']}: Load of wsdl "ContactWebService.svc.wsdl with Message part element undefined in wsdl [file:/C:/MyProject/AddressWebService.svc_wsdl_wsdl0.wsdl] part name = parameters type = {http://ns.ipnweb.com/MyApp/AddressWebService/20090101}DeleteAddressBookEntry" failed
[scac] FATAL_ERROR: location {/ns:composite/ns:import[@location='file:/C:/MyProject/ContactWebService.svc_wsdl_wsdl0.wsdl']}: Load of wsdl "ContactWebService.svc.wsdl with Message part element undefined in wsdl [file:/C:/MyProject/ContactWebService.svc_wsdl_wsdl0.wsdl] part name = parameters type = {http://ns.ipnweb.com/MyApp/ContactWebService/20090101}DeleteProfileContactResponse" failed
[scac] FATAL_ERROR: location {/ns:composite/ns:import[@location='file:/C:/MyProject/AddressWebService.svc.wsdl']}: Load of wsdl "ContactWebService.svc.wsdl with Message part element undefined in wsdl [file:/C:/MyProject/AddressWebService.svc_wsdl_wsdl0.wsdl] part name = parameters type = {http://ns.ipnweb.com/MyApp/AddressWebService/20090101}DeleteAddressBookEntry" failed
[scac] FATAL_ERROR: location {/ns:composite/ns:import[@location='file:/C:/MyProject/ContactWebService.svc.wsdl']}: Load of wsdl "ContactWebService.svc.wsdl with Message part element undefined in wsdl [file:/C:/MyProject/ContactWebService.svc_wsdl_wsdl0.wsdl] part name = parameters type = {http://ns.ipnweb.com/MyApp/ContactWebService/20090101}DeleteProfileContactResponse" failed
[scac] FATAL_ERROR: location {/ns:composite/ns:reference[@name='Address']}(17,74): Reference Address does not exist as wire target
[scac] FATAL_ERROR: location {/ns:composite/ns:reference[@name='Contact']}(25,74): Reference Contact does not exist as wire target

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

Total time: 5 seconds

29 comments:

  1. This is a very helpful blog.. Cheers Ahmed!!

    ReplyDelete
  2. Hi,
    This site is pretty good.I like the way they it was explained.This site had cleared all my issues which i was facing earlier.Many Thanks.

    Oracle R12 Upgrade.

    ReplyDelete
  3. Hi Ahmed.. i need an urgent help.

    i have an esb..

    with one routing service and one soup service

    when i am migrating to 11g.. i am getting in service reference and one reference pointing to 10g wsdl..ok

    when i deployed the same code to 11g it got deployed successfully..

    now i want to point the both routing service and soap service to 11g port..

    i am able to get the routing service wsdl ,can you please let me know where can i find the soup service wsdl pointing to 11g port..

    ReplyDelete
  4. AnonymousJune 21, 2012

    HI Very good info.. Thanks alot for sharing .

    ReplyDelete
  5. Thanks a lot for sharing a great blog I was just browsing through the internet looking for some information and came across your blog. I am impressed by the information that you have on this blog. It shows how well you understand this subject. Bookmarked this page, will come back for more keep going on it helped me a lot I have gained a lot of knowledge by reading your blog.

    Oracle SOA Training
    Oracle SOA 12c Training
    Oracle soa online training
    Oracle soa course
    oracle soa suite training

    ReplyDelete
  6. A good blog always contains new and exciting information and as I read it I felt that this blog really has all of these qualities that make a blog.

    Data Science Training in Bangalore

    ReplyDelete
  7. It is late to find this act. At least one should be familiar with the fact that such events exist. I agree with your blog and will come back to inspect it further in the future, so keep your performance going.

    Digital Marketing Training in Bangalore

    ReplyDelete
  8. A good blog always contains new and exciting information, and reading it I feel like this blog really has all of these qualities that make it a blog.

    Artificial Intelligence Training in Bangalore

    ReplyDelete
  9. great & nice articles with a lot of information to read...great people keep posting and keep updating people..thank you , Hello, this is very useful material. You can read information about Turkey eVisa online. Turkey e Visa is an electronic visa that allows travel into Turkey.

    ReplyDelete
  10. I was just examining through the web looking for certain information and ran over your blog.It shows how well you understand this subject.
    servicenow training in Bangalore

    ReplyDelete
  11. A good blog always contains new and exciting information, and reading it I feel like this blog really has all of these qualities that make it a blog.

    IoT Training Institute in Bangalore

    ReplyDelete
  12. Thank you Before applying for Kenya visa you must check the eligible countries for Kenya Visa. To verify that Are you eligible to get the Kenya visa or not?

    ReplyDelete
  13. What an outstanding post! “I'll be back” (to read more of your content). Thanks… An emergency visa to India that can be applied for and approved in a day or less for certain reasons. After confirmation of complete application, documents and full payment, Emergency Indian e-Visa can be obtained within 1 to 3 days.

    ReplyDelete
  14. Very good info. Thank you 😊 😊 😊 South Africa work visa, You can get info online about South Africa work visa via the South Africa visa website.

    ReplyDelete
  15. It is late to find this act. At least one should be familiar with the fact that such events exist. I agree with your blog and will come back to inspect it further in the future, so keep your performance going.

    Best Data Analytics Courses in Bangalore

    ReplyDelete
  16. I can't believe I've never been to this site before, but after going through some of the posts I realized it's new to me. Anyhow, I'm glad I found it and I'll be bookmarking and checking back often. You can fill your visa application form online within 5 to 10 minutes and pay your India visa cost once you complete the form. India e visa cost depends on your nationality and your visa type. cost of Indian visas are always submitted after form submission.

    ReplyDelete
  17. Hi! I thought I had been to this site before, but after looking through some of the posts, I realized it was new to me. Anyway, I'm glad I found it and I'll definitely be bookmarking it and checking back often. You can fill your visa application form online within 5 to 10 minutes and pay your India visa cost once you complete the form. India e visa cost depends on your nationality and your visa type. The cost of Indian visas is always credited after the submission of the form.

    ReplyDelete
  18. Really impressed! Everything is a very open and very clear clarification of the issues. It contains true facts. Your website is very valuable. Thanks for sharing.

    Best Data Analytics Courses in Bangalore

    ReplyDelete
  19. Thanks for your great article which is both informative and innovative: with the latest updates. It was highly invaluable. Travelers can apply India tourist visa for US citizens directly for e-visas online. Therefore, the Indian government has developed an easy-to-use online Indian visa application form that makes it easy to apply for a visa.

    ReplyDelete
  20. Hii sir, Nice blog. Thanks for sharing. Lots of people query, What is the Indian passport photo size? You can read info about India visa photo requirements via our Indian visa page.

    ReplyDelete
  21. Hey everyone, Foreign citizens can enter India for business purposes. The Indian government allows foreign country citizens to apply for a business visa for India. e Business visa India, Non-Indian visitors who are looking for business business or meetings, setting up industrial or business enterprises in India or other similar business activities etc.

    ReplyDelete
  22. Attractive component of the material. I just stumbled across your web site and accession capital to say that I really enjoyed your site. You are a compelling author. An e visa Turkey is an electronic visa which is for those travelers who can apply from anywhere from all around the world.

    ReplyDelete
  23. Bitdefender Total Security 2019 Crack is award-winning antivirus and Internet security package that is equipped with powerful tools. Bitdefender Total Security Crack

    ReplyDelete
  24. MorphVOX Pro Crack is a useful and easy to use utility that will change your voice to match your personality. It is a reliable tool that MorPhVox Cracked

    ReplyDelete
  25. Good morning, dear husband. You are my life. You are my other half. I cannot stop loving you. Have a great day. Have a great time! Love MSG For Husband

    ReplyDelete