Last active
December 3, 2017 14:13
-
-
Save mariomartinezricston/349d2aa375bee178bf3833d01c93f4f1 to your computer and use it in GitHub Desktop.
Request-reply blog
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<flow name="service-B-reply-listener-flow"> | |
<http:listener config-ref="HTTP_Listener_Configuration" path="/serviceBreply" doc:name="HTTP" /> | |
<logger message="Data is here guys!" level="INFO" doc:name="Logger" /> | |
<set-session-variable variableName="TransactionID" value="#[message.inboundProperties.TransactionID]" doc:name="Session Variable"/> | |
<vm:outbound-endpoint exchange-pattern="one-way" path="in-response" doc:name="VM in-response"/> | |
</flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<request-reply doc:name="Request-Reply"> | |
<vm:outbound-endpoint exchange-pattern="one-way" path="store-transaction" doc:name="VM store-transaction"> | |
<message-properties-transformer> | |
<delete-message-property key="MULE_REPLYTO" /> | |
</message-properties-transformer> | |
</vm:outbound-endpoint> | |
<vm:inbound-endpoint exchange-pattern="one-way" path="reply" doc:name="VM reply" /> | |
</request-reply> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<flow name="resume-flow"> | |
<vm:inbound-endpoint exchange-pattern="one-way" path="in-response" doc:name="VM in-response" /> | |
<logger level="INFO" doc:name="Logger" message="TransactionID #[sessionVars.TransactionID] says finally! I was waiting sooo long for you"/> | |
<objectstore:retrieve config-ref="Activation_ObjectStore" key="#[sessionVars.TransactionID]" targetProperty="WaitingCorrelationID" doc:name="ObjectStore - retrieve transaction"/> | |
<logger message="CorrelationID #[flowVars.WaitingCorrelationID] for TransactionID #[sessionVars.TransactionID]" level="INFO" doc:name="Logger"/> | |
<set-payload value="#['{"Message": "Your data for TransactionID ' + sessionVars.TransactionID + '"}']" doc:name="Set Payload"/> | |
<vm:outbound-endpoint exchange-pattern="one-way" path="reply" doc:name="VM reply"/> | |
<objectstore:remove config-ref="Activation_ObjectStore" key="#[sessionVars.TransactionID]" doc:name="ObjectStore - detele transaction"/> | |
</flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<flow name="service-A-listener-flow"> | |
<http:listener config-ref="HTTP_Listener_Configuration" path="/serviceA" doc:name="HTTP" /> | |
<set-session-variable variableName="TransactionID" value="#[message.inboundProperties.TransactionID]" doc:name="Session Variable - TransactionID" /> | |
<set-payload value="#["Request data for TransactionID: " + sessionVars.TransactionID]" doc:name="Set Payload"/> | |
<flow-ref name="call-to-service-B-subflow" doc:name="call-to-service-B-subflow"/> | |
<request-reply doc:name="Request-Reply"> | |
<vm:outbound-endpoint exchange-pattern="one-way" path="store-transaction" doc:name="VM store-transaction"> | |
</vm:outbound-endpoint> | |
<vm:inbound-endpoint exchange-pattern="one-way" path="reply" doc:name="VM reply" /> | |
</request-reply> | |
<logger message="FINISHED! TransID: #[sessionVars.TransactionID] MULE_CORRELATION_ID: #[message.inboundProperties['MULE_CORRELATION_ID']]" level="INFO" doc:name="Logger" /> | |
</flow> | |
<sub-flow name="call-to-service-B-subflow"> | |
<http:request config-ref="HTTP_Request_Configuration" path="/serviceB" method="POST" doc:name="HTTP - service B call"/> | |
</sub-flow> | |
<flow name="service-B-listener-flow"> | |
<http:listener config-ref="HTTP_Listener_Configuration" path="/serviceB" doc:name="HTTP service B"/> | |
<set-payload value="#["Orden Received!"]" doc:name="Set Payload"/> | |
</flow> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<flow name="store-transaction-flow"> | |
<vm:inbound-endpoint exchange-pattern="one-way" path="store-transaction" doc:name="VM store-transaction" /> | |
<logger level="INFO" doc:name="Logger" message="Saving #[sessionVars.TransactionID] CORRID: #[message.inboundProperties['MULE_CORRELATION_ID']]"/> | |
<objectstore:store config-ref="Activation_ObjectStore" key="#[sessionVars.TransactionID]" value-ref="#[message.inboundProperties.'MULE_CORRELATION_ID']" doc:name="ObjectStore - store transaction" overwrite="true"/> | |
<logger level="INFO" doc:name="Logger" message="saved #[sessionVars.TransactionID]. Let's wait for the data!"/> | |
</flow> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment