I'm currently working on a composite for the Oracle SOA Suite 11g R1. In short, I have the following BPEL process (some activities not mentioned):
input.xsd
) to start an instance. For the example, the input file contains a list of simplistic shopping orders (the XSD type is Order_Type
).output.xsd
)Both XSD's use a third common.xsd
for common types.
I'd like to insert a rule right after reading my input file. From the JDeveloper (11g R1 PS2) BPEL editor, I drag a Business Rule activity below my Receive activity and use the wizard to create a new Dictionary:
input.xsd
. Order_Type
gets marshalled to the class mypackage.OrderType
with selector //xs:complexType[@name='Order_Type']
OrderType
If I close the function dialog now, I have no error but cannot select the rule in my BPEL process.
On the other hand, if I select Will Be Invoked As A Webservice then close, I have the following error message:
Element not found in XML-Schema file. The element for fact type mypackage.OrderType could not be found in XML Schema file file:/C:/Jdeveloper/[...]/xsd/input.xsd [...]
aka BPM-36355 error, although that error code is not explicitly mentioned.
Of course, the type is present in the file (as I said, I let JDev generate the JAXB classes for me), so I'm at a loss as to why this error happens, or how to correct it.
I tried various combinations for the generation of XML facts, of the decision function, and I restarted JDev (don't laugh, that actually fixed a weird issue yesterday), but to no avail. The XPath expression selecting the type is correct.
Any suggestion would be appreciated. Except dropping Oracle or downgrading to pre-11g, of course. Thanks
My root element, Order
, was a sequence of Order_Type
. I solved the issue described above by using Order
instead of Order_Type
for my decision function parameter. The WSDL was generated successfully, and my rule is called.
I don't know whether this is a bug or a feature so if anyone has more information, feel free to post it.