Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions data/DemoSystemMessageData.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<entity-facade-xml type="demo">

<moqui.service.message.SystemMessageType systemMessageTypeId="Demo_User_msg" description="Message for testing"
consumeServiceName="integration.Demo_System_Message.consume#DemoUserMessage"
sendPath="/3967"/>
<moqui.service.message.SystemMessageRemote systemMessageRemoteId="Demo_Msg" sendUrl="https://gorest.co.in/public/v2/users"
username="" password=""/>
<moqui.service.job.ServiceJob jobName="Demo_Job" description="Demo_Job_For_Testing"
serviceName="integration.Demo_System_Message.poll#DemoUser"
cronExpression="0 0/15 * * * ?">
<parameters parameterName="systemMessageTypeId" parameterValue="Demo_User_msg"/>
<parameters parameterName="systemMessageRemoteId" parameterValue="Demo_Msg"/>
</moqui.service.job.ServiceJob>
</entity-facade-xml>
17 changes: 17 additions & 0 deletions service/assignment.rest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://moqui.org/xsd/rest-api-2.1.xsd"
name="tutorial" displayName="Assignment_L2 REST API" version="1.0">

<resource name="orders" require-authentication="anonymous-all">
<method type="post"><service name="tutorial.Assignment_L2.post#Orders"/></method>
<method type="get"><service name="tutorial.Assignment_L2.get#AllOrder"/></method>
<id name="orderId">
<method type="get"><service name="tutorial.Assignment_L2.get#OrderDetails"/></method>
<method type="put"><service name="tutorial.Assignment_L2.store#UpdateOrder"/></method>
</id>
<resource name="orderItems" require-authentication="anonymous-all">
<method type="post"><service name="tutorial.Assignment_L2.post#OrderEntity"/></method>
</resource>
</resource>
</resource>
47 changes: 47 additions & 0 deletions service/integration/Demo_System_Message.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" ?>
<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://moqui.org/xsd/service-definition-2.1.xsd">
<service verb="poll" noun="DemoUser" authenticate="anonymous-all">
<in-parameters>
<parameter name="systemMessageTypeId" required="true"/>
<parameter name="systemMessageRemoteId" required="true"/>
</in-parameters>
<actions>
<entity-find-one entity-name="moqui.service.message.SystemMessageType" value-field="systemMessageType"/>
<entity-find-one entity-name="moqui.service.message.SystemMessageRemote" value-field="systemMessageRemote"/>

<!-- <log message="==============systemMessageType.sendPath==============${systemMessageType.sendPath}==============="/>-->
<log message="==============systemMessageRemote.sendUrl==============${systemMessageRemote.sendUrl}${systemMessageType.sendPath}==============="/>
<script>
<![CDATA[
import org.moqui.util.RestClient
String endpoint = systemMessageType.sendPath;
String sendUrl = systemMessageRemote.sendUrl;
println(sendUrl+endpoint)
RestClient restClient = ec.service.rest();
restClient.contentType("application/json")
restClient.method("GET");
restClient.uri(sendUrl+endpoint);
RestClient.RestResponse restResponse = restClient.call();
String responseText = restResponse.text();
Map<String, Object> result = ec.service.sync().name("org.moqui.impl.SystemMessageServices.receive#IncomingSystemMessage")
.parameter("systemMessageTypeId", systemMessageType.systemMessageTypeId)
.parameter("systemMessageRemoteId", systemMessageRemote.systemMessageRemoteId)
.parameter("messageText",responseText).disableAuthz()
.requireNewTransaction(true).call()

]]></script>
</actions>
</service>

<service verb="consume" noun="DemoUserMessage" authenticate="anonymous-all" transaction-timeout="1800">
<implements service="org.moqui.impl.SystemMessageServices.consume#SystemMessage"/>
<actions>
<entity-find-one entity-name="moqui.service.message.SystemMessage" value-field="systemMessage"/>
<log message="================systemMessage===================${systemMessage}================="/>
<set field="apiResponse" from="new groovy.json.JsonSlurper().parseText(systemMessage.messageText)"/>
<service-call name="mantle.party.PartyServices.create#Person"
in-map="[pseudoId:apiResponse.id,firstName:apiResponse.name,lastName:apiResponse.gender]" out-map="context"/>
</actions>
</service>
</services>
Loading