Oracle SOA Suite Online Training

Interested in learning Oracle SOA Suite 12c?
Learn from the author of this blog!
A complete and comprehensive course on the #1 platform on SOA - Oracle SOA Suite

Click here to find the complete course details
Click here to check the first session on Oracle SOA Suite 12c

================================================================================================

Build Issue : WSDL messageType "{http://schemas.oracle.com/bpel/extension}remoteFault" of variable "" is not defined in any of the WSDL files


When you select a system fault like remotefault in a catch activity/fault handler, JDeveloper copies a wsdl named RuntimeFault.wsdl  from your
<JDEVELOPER_HOME%\\integration\seed\soa\shared\bpel directory to your project and this wsdl contains following msg :

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="RuntimeFault"
             targetNamespace="http://schemas.oracle.com/bpel/extension"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns="http://schemas.xmlsoap.org/wsdl/">

    <message name="RuntimeFaultMessage">
        <part name="code" type="xsd:string"/>
        <part name="summary" type="xsd:string"/>
        <part name="detail" type="xsd:string"/>
    </message>
</definitions>

And secondly, JDeveloper create the faultVariable in your BPEL file (.bepl) like this :

<variable messageType="bpelx:remoteFault" name="FaultVar"/>

Now if you observe, the RuntimeFault.wsdl is having the message name as "RuntimeFaultMessage" where as
the variable's messageType is messageType="bpelx:remoteFault".

Change all those instances to RuntimeFaultMessage, and add an import to map the wsdl in the composite.xml

  <import namespace="http://schemas.oracle.com/bpel/extension" location="RuntimeFault.wsdl"
          importType="wsdl"/>

2 comments:

  1. change the instances means where we need to change

    ReplyDelete
  2. What I meant was to change remoteFault to RemoteFaultMessage in files where it is being used

    ReplyDelete