When I compiled my Mule project and deployed it to mule-standalone-4.5.0, I got the following error:
org.mule.runtime.api.exception.MuleRuntimeException: The artifact bridge-1.0.0-mule-application requires a different runtime. The artifact required runtime is MULE_EE and the runtime is MULE
Searching for a solution, I found https://help.mulesoft.com/s/question/0D52T00005v4UH8SAM/error-while-deploying-domain-application-to-onpremisece-instance-the-artifact-required-runtime-is-muleee-and-the-runtime-is-mule and https://help.mulesoft.com/s/question/0D52T00006BcCs9SAF/getting-error-the-artifact-application-requires-a-different-runtime-the-artifact-required-runtime-is-muleee-and-the-runtime-is-mule-while-deploying-mule-application-in-mulestandalone4302021019-server
These posts seem to suggest that if I am using the Mule Community Edition standalone server, then I can NOT use any EE components such as ee:transform. Is this true? If so, is there a work-around? If not, how can I fix my error?
For reference, here is my project:
<http:listener-config name="listener-config-mule" basePath="/base">
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<apikit-soap:config name="soapkit-config-bridge" wsdlLocation="bridge.wsdl" service="Calculator" port="CalculatorSoap12" />
<wsc:config name="wsc-config-bridge">
<wsc:connection soapVersion="SOAP12" wsdlLocation="api\bridge.wsdl" service="Calculator" port="CalculatorSoap12" address="http://www.dneonline.com/calculator.asmx" />
</wsc:config>
<flow name="api-main">
<http:listener config-ref="listener-config-mule" path="/app" />
<apikit-soap:router config-ref="soapkit-config-bridge">
<apikit-soap:attributes><![CDATA[#[%dw 2.0
output application/java
---
{
headers: attributes.headers,
method: attributes.method,
queryString: attributes.queryString
}]]]></apikit-soap:attributes>
</apikit-soap:router>
</flow>
<flow name="Add:\soapkit-config-bridge">
<ee:transform>
<ee:message>
<ee:set-payload><![CDATA[%dw 2.0
output application/xml
---
payload.body]]></ee:set-payload>
</ee:message>
</ee:transform>
<wsc:consume config-ref="wsc-config-bridge" operation="Add" />
<ee:transform>
<ee:message>
<ee:set-payload><![CDATA[%dw 2.0
output application/xml
---
payload.body]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
Yes, indeed, you will not be able to use any EE-based namespace and schema location if you use the Mule Community edition called Kernal in Mule 4 and if you run the application you will get the error.
Alternative:
Also please edit the mule-artifact.json to use Mule Runtime as a Kernal using below requiredProduct key.
{
"requiredProduct":"MULE",
"minMuleVersion":"4.5.0"
}