October 7, 2010

"Error: Load of wsdl X with Message part element undefined in wsdl"

When migrating an ESB 10g project to Mediator 11g, we experienced a rather unique issue. Our WSDLs were hosted outside of the project (this was not the problem), and they referenced our own custom artifacts that were deployed to the ~/AIAComponents folders, which in turn referenced AIA 2.4 specific artifacts.

Problem:
The ESB 10g project migrated successfully through JDeveloper 11g. When trying to 'make' the project, we received the following error:
Error: Load of wsdl "ProcessCustomerPartyTargetProvABCSImpl.wsdl with Message part element undefined in wsdl [file:/C:/SOA11g/Temp/ProcessCustomerPartyTargetProvABCSImpl/ProcessCustomerPartyTargetProvABCSImpl.wsdl] part name = UpdateCustomerParty    type = {http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/CustomerParty/V2}UpdateCustomerPartyEBM" failed
Our project WSDL appeared to be syntactically valid, with no issues with how our operations, messages, or elements were defined.

Solution:
This was our schema definition in our WSDL:
<types>
  <xsd:schema targetNamespace="http://xmlns.oracle.com/ABCSImpl/GlobalWeb/Core/AddressChange" elementFormDefault="qualified">
    <xsd:import namespace="http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/CustomerParty/V2" schemaLocation="xsd/CustomerPartyEBM.xsd"/>
  </xsd:schema>
</types>
The short answer is to remove the following string from the WSDL file:
targetNamespace="http://xmlns.oracle.com/ABCSImpl/GlobalWeb/Core/AddressChange"
This target namespace is already declared in our <definitions> and it appears that the way 11g handles namespace references differs slightly from that of 10g as it tries to reference the element.

7 comments:

  1. hi Ahmed ,nice blog..
    but i have a question in my case when i migrated the code it got successfully migrated but when making it it says

    error(4,211);Load of wsdl "myproject.wsdl" with message part element undefined in wsdl{partname=payloadType="namespace"}CollectionOfSystems Failed... but according to your answer i dont find any target namespaces in my types tag

    ReplyDelete
  2. Have you checked this out?

    http://blog.ipnweb.com/2010/10/error-load-of-wsdl-x-with-message-part.html

    ReplyDelete
  3. yes Ahmed.. i have followed the blog but

    i dont find any issue mentioned in the blog as you said..

    i migrated the code from esb 10g to 11g i am getting the below...error.. please help me...

    i got Error(4,211): Load of wsdl "http:\\something.com" failed
    Error(18,226): Cannot find Port Type "{http://xmlns.oracle.com}HelloWorldV20" for "BPELSystem.EnterpriseServices.SoftwareUpgradeV20.SoftwareUpgradeV20_1_0" in WSDL Manager

    ReplyDelete
  4. Hi Ahmed!

    Need an advice!

    i have a payload where few elements are ubounded.
    the requirement is i need to get a payload the payload inside there is an unbounded element where i need to batch it into four and send it to db.

    any advice?

    ReplyDelete