Invalid Nested Schema Loading Error with Oracle BPEL, AIA/PIP
Filed Under Technical Tips // Tags: aia / pip / abcs, oracle soa bpel
The Issue: XML parsing failed because of an “undefined part element.”
Working with Oracle BPEL and nested schemas has given me this error a number of times when, so I thought I would share a common solution and info on where to look. This occurs a lot when moving between environments if the build scripts do not dynamically update the endpoints. It seems like a really generic error because it is widely used for any error loading schemas, and doesn’t provide exact line numbers. It is actually quite specific once you realize what the error is if you are willing to hunt line by line through the wsdls and find the line causing the problem. As a side note, if this error occurs with empty details “”, you probably just have a getVariable() xpath expression looking up an invalid variable. This can be a big issue, that is easiest to resolve by restoring an earlier history version of the code that compiled rather than doing a large hunt.
The full error:
[Error ORABPEL-10902]: compilation failed
[Description]: in “bpel.xml”, XML parsing failed because “undefined part element.
In WSDL at “file:/C:/projects/ExampleProcessReqABCSImpl.wsdl”, message part element “{http://xmlns.oracle.com/ExampleObject}ExampleObject” is not defined in any of the schemas.
Please make sure the spelling of the element QName is correct and the WSDL import is complete.
“.
[Potential fix]: n/a.
I faced this issue in the context of building an Application Business Connector Service (ABCS) using AIA / PIP, so there was a good message design where Business Objects were in a separate schema, embedded in a schema with Message definitions, which was itself embedded into a bpel project. I encountered this right after using the utility to autogenerate the code. In the end, it turns out one of the urls on the nested schema was pointing to the wrong location. I had to hunt through all the schema tags in the wsdls. I found the schema location for the schema containing the object that was complained about was not resolving. This is pretty straight forward, but is a pain if there is a lot of nesting. The element that was changed in the WSDL was here:
1 2 3 4 | <xsd:schema > <xsd:import namespace="http://xmlns.oracle.com/ExampleObject" schemaLocation="http://bpelserver:7777/AIAComponents/ApplicationObjectLibrary/DomainEBOs.xsd"/> </xsd:schema> |
Related Information:
- Salesforce.com Error Migrating 10.0 to 11.1 API - Oracle BPEL
If you have experienced issues when moving from Salesforce.com API version 10.0 to 11.1, you should double check your content...
- BPEL Worklist Application Error
I wanted to note that our team has received an error when managers logged into the Worklist Application on one...
- IIS Error - W3SVC Not Starting - Event ID 115
Did your personal IIS stop working recently — the one you run on XP perhaps? Did you get the following...
- OID Install in Oracle Enterprise Linux (OEL) 5 - Shared Libraries Error
When installing 10g OID on OEL5, if you run into the following error, you can run the below commands to...
- Oracle BPEL - Wait Activity Stuck or Hanging - Never Returns to Console
This is a very, very common complaint I hear from Oracle BPEL developers, testers, and production support. I find there...
- BPEL Not Good For Rapid Changes
I am excited about BPEL’s proliferation. But for some organizations (specifically, IT shops), BPEL is being used in areas it...
- Oracle BPEL Email Notification - Remove Attachment
If you have used the email notification activity in Oracle BPEL (up through the latest version at the time of...
