错误:部署的 Mule 项目需要不同的运行时

问题描述 投票:0回答:1

当我编译 Mule 项目并将其部署到 mule-standalone-4.5.0 时,出现以下错误:

org.mule.runtime.api.exception.MuleRuntimeException:神器 bridge-1.0.0-mule-application 需要不同的运行时。这 工件所需的运行时是 MULE_EE,运行时是 MULE

寻找解决方案,我发现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-mulehttps://help.mulesoft.com/s/question/0D52T00006BcCs9SAF/getting-error-the-artifact-application-requires-a- Different-runtime-the-工件所需的运行时是 muleee,并且运行时是 mule,同时在 mulestandalone 中部署 mule 应用程序4302021019-服务器

这些帖子似乎表明,如果我使用 Mule 社区版独立服务器,那么我不能使用任何 EE 组件,例如 ee:transform。这是真的吗?如果是这样,有解决方法吗?如果没有,我该如何修复我的错误?

作为参考,这是我的项目:

<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>
soap mule mule4
1个回答
0
投票

是的,确实,如果您在 Mule 4 中使用名为 Kernal 的 Mule 社区版本,您将无法使用任何基于 EE 的命名空间和模式位置,并且如果您运行该应用程序,您将收到错误。

替代方案:

  • 从 XML 中删除 ee:transform 或基于 ee 的命名空间和架构位置,并使用设置有效负载组件作为替代组件。

另请编辑 mule-artifact.json 以使用 Mule Runtime 作为内核,使用下面所需的产品密钥。

  {
    "requiredProduct":"MULE",
    "minMuleVersion":"4.5.0"
  }
© www.soinside.com 2019 - 2024. All rights reserved.