Skip to content

Instantly share code, notes, and snippets.

View djuang1's full-sized avatar
🏠
Working from home

Dejim Juang djuang1

🏠
Working from home
View GitHub Profile
%dw 2.0
output application/xml
ns soapenv http://schemas.xmlsoap.org/soap/envelope/
ns tem http://tempuri.org/
---
{
soapenv#Envelope: {
soapenv#Header:null,
soapenv#Body : (
@djuang1
djuang1 / replace_single_kv_payload.dwl
Last active May 5, 2020 01:24
MuleSoft DataWeave 2.0 script example that shows replace a single value in a payload without having to map every field.
%dw 2.0
output application/json
---
payload mapObject (value, key) -> {
// key to compare needs to be set to String type
(if (key as String =="provisioned") {
// if key = "provisioned", change the value to true
"provisioned": true
} else if (key as String =="key1"){
// leaving this blank will remove the element
@djuang1
djuang1 / MultiChainTest.java
Created May 22, 2018 18:05
Call Multichain Java SDK in Mule 3.x
package com.dejim;
import java.util.List;
import org.mule.api.MuleEventContext;
import org.mule.api.lifecycle.Callable;
import multichain.command.IssueCommand;
import multichain.command.MultiChainCommand;
import multichain.command.MultichainException;
@djuang1
djuang1 / pass-sql-query-mule.xml
Created April 14, 2018 21:48
Example flow that shows how to pass SQL select query to HTTP flow against a database (Mule 3.x)
<flow name="query-dbFlow1">
<http:listener config-ref="HTTP_Listener_Configuration" path="/query" doc:name="HTTP"/>
<set-variable variableName="query" value="#[message.payloadAs(java.lang.String)]" doc:name="Variable"/>
<db:select config-ref="MySQL_Configuration" doc:name="Database">
<db:dynamic-query><![CDATA[#[flowVars.query]]]></db:dynamic-query>
</db:select>
<json:object-to-json-transformer doc:name="Object to JSON"/>
</flow>
@djuang1
djuang1 / aws-sig-v4-lambda.java
Created April 2, 2018 14:15
AWS Signature Version 4 - MuleSoft - Lambda
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.TimeZone;
@djuang1
djuang1 / blockstack
Created December 21, 2017 02:35
blockstack
Verifying my Blockstack ID is secured with the address 1EE5XFMKdtmXb34BMAxxrhh4FTKLgVT4vP https://explorer.blockstack.org/address/1EE5XFMKdtmXb34BMAxxrhh4FTKLgVT4vP
@djuang1
djuang1 / cache-scope.xml
Created September 14, 2017 22:30
MuleSoft example showing cache scope
<http:listener-config name="user-api-httpListenerConfig" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<ee:object-store-caching-strategy name="Caching_Strategy" keyGenerationExpression="#[flowVars.userID]" doc:name="Caching Strategy"/>
<db:mysql-config name="MySQL_Configuration" host="${db.host}" port="${db.port}" user="${db.user}" database="${db.db}" doc:name="MySQL Configuration" password="Mule1379"/>
<flow name="get:/user/{id}:user-api-config">
<timer-interceptor doc:name="Timer"/>
<logger message="Query parameter user_id = #[message.inboundProperties.'http.query.params'.id]" level="INFO" doc:name="Logger"/>
<set-variable variableName="userID" value="#[id]" doc:name="Variable"/>
<ee:cache cachingStrategy-ref="Caching_Strategy" doc:name="Cache">
<logger message="SubFlow - variable userID = #[flowVars.userID]" level="INFO" doc:name="Logger"/>
@djuang1
djuang1 / sfdc-streaming.xml
Created September 14, 2017 21:06
MuleSoft example showing SFDC Streaming API
<sfdc:config name="Salesforce" username="${sfdc.user}" password="${sfdc.password}" securityToken="${sfdc.token}" doc:name="Salesforce"/>
<flow name="salesforce-exampleFlow">
<sfdc:subscribe-topic config-ref="Salesforce" doc:name="Salesforce (Streaming)" topic="/ContactTopic"/>
<logger message="Received Event : #[payload.Id] - #[payload.FirstName] #[payload.LastName]" level="INFO" doc:name="Logger"/>
<sfdc:query-single config-ref="Salesforce" query="dsql:SELECT AccountId,Email,FirstName,HomePhone,Id,LastName FROM Contact WHERE Id = '#[payload.Id]'" doc:name="Salesforce"/>
<json:object-to-json-transformer doc:name="Object to JSON"/>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
@djuang1
djuang1 / rss.xml
Created September 14, 2017 20:59
Example of using the RSS Component with Mule
<http:request-config name="HTTP_Request_Configuration" host="feeds.feedburner.com" port="80" basePath="/" doc:name="HTTP Request Configuration"/>
<flow name="flowTest">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="1" timeUnit="MINUTES"/>
<http:request config-ref="HTTP_Request_Configuration" path="TechCrunch" method="GET" doc:name="HTTP"/>
</poll>
<rss:feed-splitter doc:name="Feed Splitter"/>
<logger message="#[payload.title]" level="INFO" doc:name="Logger"/>
<rss:entry-last-updated-filter lastUpdate="now" doc:name="Update Last Updated Date"/>
@djuang1
djuang1 / dropbox.xml
Created January 31, 2017 20:47
Dropbox Mule Example
<file:connector name="File_First" autoDelete="true" streaming="true" validateConnections="true" doc:name="File" />
<http:request-config name="Dropbox_HTTPS_Request_Configuration" protocol="HTTPS" host="content.dropboxapi.com" port="443" basePath="/" doc:name="HTTP Request Configuration">
<tls:context>
<tls:key-store type="jks" path="keystore.jks" keyPassword="<password>" password="<password>"/>
</tls:context>
</http:request-config>
<flow name="upload-first-floor">
<file:inbound-endpoint path="${file.first}" responseTimeout="30000" doc:name="Retrieve File" connector-ref="File_First" pollingFrequency="30000" fileAge="20000">