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.

20 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
  5. Congratulations on your article, it was very helpful and successful. fcc697cc7de1bff862429ec1612d649c
    numara onay
    website kurma
    website kurma

    ReplyDelete
  6. Thank you for your explanation, very good content. 840dc8f6dd145f26a9541cacaab600de
    altın dedektörü

    ReplyDelete