如何从应用程序获取json到我的mule应用程序

如何从应用程序获取json到我的mule应用程序,mule,esb,Mule,Esb,我想将两个应用程序链接到我的mule应用程序。因此,它必须从第一个msg、token获取信息,然后添加另一个信息电子邮件,并将所有这些信息重播到第二个应用程序。 这是我的代码: <db:mysql-config name="MySQL_Configuration" host="localhost" port="3306" user="root" database="mulesoft" doc:name="MySQL Configuration"/> <smtp:gmai

我想将两个应用程序链接到我的mule应用程序。因此,它必须从第一个msg、token获取信息,然后添加另一个信息电子邮件,并将所有这些信息重播到第二个应用程序。 这是我的代码:

<db:mysql-config name="MySQL_Configuration" host="localhost" port="3306" user="root" database="mulesoft" doc:name="MySQL Configuration"/>
    <smtp:gmail-connector name="Gmail" validateConnections="true" doc:name="Gmail"/>
<flow name="flows1Flow1">

    <http:inbound-endpoint host="localhost" port="8084"  encoding="UTF-8" doc:name="HTTP"/>
        <json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object"/>
        <set-variable variableName="msg" value="#[message.payload.msg]" doc:name="Variable"/>
        <set-variable variableName="tkn" value="#[message.payload.tkn]" doc:name="Variable"/>
        <db:select config-ref="MySQL_Configuration" doc:name="Database">
            <db:parameterized-query><![CDATA[select * from push where token = #[message.payload['token']]]]></db:parameterized-query>
        </db:select>
        <foreach doc:name="For Each">
            <set-session-variable variableName="email" value="#[message.payload.email]" doc:name="Session Variable"/>
            <json:object-to-json-transformer doc:name="Object to JSON"/>
            <http:outbound-endpoint exchange-pattern="request-response" method="POST" address="http://slice.WS.com/api.php/push/send_test_push" contentType="application/json" doc:name="HTTP"/>
        </foreach>

</flow>
当我使用postman google chrome扩展发布json信息进行测试时,我得到以下结果:

发生了什么? 如何从json格式的第二个应用程序Web服务恢复响应? 先谢谢你。
您没有构建可以通过HTTP正确序列化的特定响应对象,因此Mule使用流的最新消息处理器生成的响应

在您的例子中,for each生成一个List对象,Mule尽职尽责地将其序列化为HTTP响应

您需要添加一个http:response生成器元素和一个set-payload消息处理器,以创建对入站端点的调用方有意义的http响应

例如:

<set-payload value="OK"/>
<http:response-builder status="200" contentType="text/plain" />

参考资料:

我一直在等待你的有用答案。请看一下我做了什么,我犯了什么错误,我真的需要你的帮助,我必须在周一之前做这个测试。新代码:这是错误:谢谢你的时间,请告诉我如何做第二方的测试我尝试了很多东西,但都没有效果。但是。。。响应生成器和设置有效负载必须位于for each的外部。重读我的答案:我告诉过你,for-each会产生一个列表!巴斯德宾?否则我该如何帮助呢?抱歉,我不明白,在pastebin中,我看到响应生成器后面有一个HTTP出站端点。建立响应应该是您流程中的最后一件事。让我们来。