Mule自定义连接器从element开始找到无效内容

时间:2015-06-17 12:56:59

标签: mule connector

我创建了名为KoreAlert的Custom Connector。我成功地将它安装到AnypointStudio。但是,当我在另一个流程中使用它时,我得到了这个例外。任何人都可以解决这个问题。

Invalid content was found starting with element 'kore-alert:alert'. One of '{"http://www.mulesoft.org/schema/mule/core":abstract-message-processor, "http://www.mulesoft.org/schema/mule/core":abstract-outbound-endpoint, "http://www.mulesoft.org/schema/mule/core":abstract-mixed-content-message-processor, "http://www.mulesoft.org/schema/mule/core":response}' is expected.

修改 这是我的连接器处理器签名:

@Processor(friendlyName = "Kore Alert")
public void alert(@RestPostParam("alert") String alert) throws IOException {
        koreClient.postAlertInfo(alert);
}

以下是使用连接器的mule应用程序:

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:kore-alert="http://www.mulesoft.org/schema/mule/kore-alert" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.6.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/kore-alert http://www.mulesoft.org/schema/mule/kore-alert/current/mule-kore-alert.xsd">
    <http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8081" doc:name="HTTP Listener Configuration"/>
    <kore-alert:config-type name="KoreAlert_Configuration" doc:name="KoreAlert: Configuration type strategy"/>
    <flow name="kore-alert-userFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/hello" doc:name="HTTP"/>
        <kore-alert:alert config-ref="KoreAlert_Configuration" alert="'{&quot;title&quot;:&quot;ssss&quot;,&quot;body&quot;:&quot;safdsadfsa&quot;}'" doc:name="KoreAlert"/>
    </flow>
</mule>

2 个答案:

答案 0 :(得分:0)

Mule无法识别名称空间kore-alert。你有没有把它宣布在上面?

答案 1 :(得分:0)

我刚刚完成了我自己的版本。它是因为修改了我创建的连接器配置(新架构)的代码....

最后我做了彻底的清理:删除并重新创建(在ui中)添加连接器的项目中的xml文档中所有现有的相关连接器配置。清理了两个项目,构建了连接器,更新并安装了它,重新启动了AnyPoint Studio,构建了主机&#39;项目并跑了。

您可以按住alt(mac上的命令)键并单击架构定义中的一个以在架构设计器中查看,以查看该应用程序正在使用的版本。