Thursday, 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.

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 = {}UpdateCustomerPartyEBM" failed
Our project WSDL appeared to be syntactically valid, with no issues with how our operations, messages, or elements were defined.

This was our schema definition in our WSDL:
  <xsd:schema targetNamespace="" elementFormDefault="qualified">
    <xsd:import namespace="" schemaLocation="xsd/CustomerPartyEBM.xsd"/>
The short answer is to remove the following string from the WSDL file:
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.

No comments: