2016-11-05 4 views
0

Mule에 익숙하지 않아서 http localhost에 변수에 저장된 문자열 payload를 POST해야합니다. 아래는 나의 구성이다.mule에서 문자열 페이로드를 http localhost에 POST하는 방법은 무엇입니까?

<flow name="RequestFlow" processingStrategy="synchronous"> 
     <set-variable variableName="variable1" value="#[payload]" doc:name="Set Request"/> 
     <ws:consumer config-ref="Web_Service_Consumer" doc:name="Web Service Consumer" operation="Submit"/> 
     <mulexml:dom-to-xml-transformer doc:name="DOM to XML"/> 
</flow> 

웹 서비스를 사용하기 전에 POST 호출을해야합니다. 알려주십시오. ? 8081/getDetails 국가 = 인도

하고 쿼리 PARAM라는 이름이 "국가"

답변

0

예를 들어, 다음과 같은 URL- 로컬 호스트 있습니다. 문자열 형식이 쿼리 PARAM을 얻으려면 follows-

[message.inboundProperties.'http.query.params'.country]

귀하의 변수 의지로 변수에이 값을 저장하기 위해 MEL을 사용할 수 있습니다 이 일 것

<set-variable variableName="hello" value="#[message.inboundProperties.'http.query.params'.country]" doc:name="Variable"/>

처럼 단지 시도하고 응답 봐.

감사합니다, Vibhor

+0

페이로드는 이미 String 형식입니다. HTTP 구성 요소를 사용하여 POST 호출을 수행해야합니다. 페이로드를 url의 param으로 전달할 것을 제안하고 있습니까? –

0

은 아래에보십시오 : -

<set-variable variableName="Variable1" value="#[payload]" doc:name="Variable"/> 
    <set-payload value="#[flowVars.Variable1]" doc:name="Set Payload"/> 
    <byte-array-to-string-transformer doc:name="Byte Array to String"/> 
    <http:request config-ref="HTTP_Request_Configuration" path="test" method="POST" doc:name="HTTP"/> 

그것이 도움이되기를 바랍니다.

+0

Am facing 1. 연결이 거부되었습니다. 더 이상 정보가 없습니다 (java.net.ConnectException) sun.nio.ch.SocketChannelImpl : -2 (null) 2. HTTP 요청을 보내고 있습니다. 메시지 페이로드 유형은 다음과 같습니다. String –

+0

페이로드가 실제로 http에 게시되는지 여부를 노블에서 확인하려면 어떻게해야합니까? –

+0

먼저 우편 배달부 또는 비누를 사용하여 해당 URL을 연결해보십시오. 그런 다음 노새로 연결하십시오. http 커넥터 앞에 로거를 유지하고 페이로드를 로깅하면 게시 할 내용을 알 수 있습니다. – Infinity