Environment Setup
- Download ESB 5.0.0 from here.
- Upload the following connectors. (Refer this to add and enable the connector)
- Follow the instruction to get the credential for the Gmail connector.
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse" name="Read_AND_sendMail" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
<target>
<inSequence>
<property name="source" expression="json-eval($.source)" />
<property name="contentType" expression="json-eval($.contentType)" />
<property name="filePattern" expression="json-eval($.filePattern)" />
<property name="userId" expression="json-eval($.userId)" />
<property name="refreshToken" expression="json-eval($.refreshToken)" />
<property name="clientId" expression="json-eval($.clientId)" />
<property name="clientSecret" expression="json-eval($.clientSecret)" />
<property name="accessToken" expression="json-eval($.accessToken)" />
<property name="accessTokenRegistryPath" expression="json-eval($.accessTokenRegistryPath)" />
<property name="apiUrl" expression="json-eval($.apiUrl)" />
<property name="to" expression="json-eval($.to)" />
<property name="subject" expression="json-eval($.subject)" />
<property name="from" expression="json-eval($.from)" />
<property name="cc" expression="json-eval($.cc)" />
<property name="bcc" expression="json-eval($.bcc)" />
<property name="apiUrl" expression="json-eval($.apiUrl)" />
<fileconnector.read>
<source>{$ctx:source}</source>
<contentType>{$ctx:contentType}</contentType>
<filePattern>{$ctx:filePattern}</filePattern>
</fileconnector.read>
<enrich>
<source type="body" clone="true" />
<target type="property" property="mailContent" />
</enrich>
<log level="custom">
<property name="!!!!!!!!! fileReadContent !!!!!!!!!!!!" expression="get-property('mailContent')" />
</log>
<gmail.init>
<userId>{$ctx:userId}</userId>
<refreshToken>{$ctx:refreshToken}</refreshToken>
<clientSecret>{$ctx:clientSecret}</clientSecret>
<clientId>{$ctx:clientId}</clientId>
<accessTokenRegistryPath>{$ctx:accessTokenRegistryPath}</accessTokenRegistryPath>
<accessToken>{$ctx:accessToken}</accessToken>
<apiUrl>{$ctx:apiUrl}</apiUrl>
</gmail.init>
<gmail.sendMail>
<to>{$ctx:to}</to>
<subject>{$ctx:subject}</subject>
<from>{$ctx:from}</from>
<cc>{$ctx:cc}</cc>
<bcc>{$ctx:bcc}</bcc>
<messageBody>{$ctx:mailContent}</messageBody>
</gmail.sendMail>
<respond />
</inSequence>
</target>
<description />
</proxy>
Sample Request {
"source":"/home/vive/Desktop/FILE/",
"contentType":"text/plain",
"filePattern":"mailContent.txt",
"userId":"MailId",
"refreshToken":"1/3e68t0-PSxxxxxxxxx",
"clientSecret":"qlCLwJxxxxxxxxxxxxxxxx",
"clientId":"5924732841xxxxxxxxxxx",
"accessTokenRegistryPath":"Connector/Gmail",
"accessToken":"ya29.CjHhAptvMndCCahMeuJpxxxxxxxxxxx",
"apiUrl":"https://www.googleapis.com/gmail",
"to":"user001@gmail.com",
"subject":"Integrate WSO2 ESB File Connector with Gmail Connector",
"cc":"user002@gamil.com",
"bcc":"user032@gmail.com"
}

hi, and where i use the sample request to check the results?
ReplyDeleteThis comment has been removed by the author.
ReplyDelete