我很難搞清楚如何在請求正文中使用JSON執行HTTP POST。我的流程樣本如下。我有一個輪詢輪詢POJO的輪詢器,它在輪詢時生成JSON。然後我需要使用這個JSON並在它的正文中使用一個HTTP POST來發佈一個外部REST服務。 Apache HTTP Client的等價物是將字符串實體設置爲我的JSON消息,並將頭部內容類型設置爲application/json。我會怎樣在騾子裏做這個?在此先感謝您的幫助。Mule ESB HTTP帖子與JSON身體
<flow name="flow1" doc:name="flow1">
<poll frequency="100000">
<logger message="starting" level="INFO" doc:name="Logger"/>
</poll>
<component class="JavaJSONGeneratorClass" doc:name="ReferenceToJavaClass"/>
<echo-component doc:name="Echo"/>
<http:outbound-endpoint exchange-pattern="request-response" host="xxx.xxx.xxx.xxx" port="8080" path="path/to/service" doc:name="HTTP"/>
<logger level="INFO" doc:name="Logger"/>
<byte-array-to-string-transformer doc:name="Byte Array to String"/>
<echo-component doc:name="Echo"/>
</flow>
和Java類會做這樣的事情:
import java.io.Serializable;
import org.mule.api.MuleEventContext;
import org.mule.api.MuleMessage;
import org.mule.api.lifecycle.Callable;
import org.mule.module.client.MuleClient;
public class JSONGenerator implements Callable, Serializable
{
@Override
public Object onCall(MuleEventContext eventContext) throws Exception
{
String json = generateSomeJson(some_parameter);
return json;
}
}
謝謝!這工作 – james