Difference between revisions of "TestFileAttachment"
(→{{GVCONSOLE}} Configuration) |
(→{{GVCONSOLE}} Configuration) |
||
Line 157: | Line 157: | ||
* SMTP : localhost:3025 | * SMTP : localhost:3025 | ||
* POP3: localhost:3110 | * POP3: localhost:3110 | ||
− | * | + | * Server mailbox: gv1@gv.com (gv1/gv1) |
− | * | + | * Client mailbox: gv2@gv.com (gv2/gv2)<br/>gv3@gv.com (gv3/gv3) |
[[File:GVExamplesTestFileAttachmentEmail.jpg|thumb|TestFileAttachment email]]You will receive an email as this shown in the picture. | [[File:GVExamplesTestFileAttachmentEmail.jpg|thumb|TestFileAttachment email]]You will receive an email as this shown in the picture. |
Revision as of 09:33, 16 February 2012
Contents
Description
This example shows how use GreenVulcano® ESB to send an email containing attachments.
TestFileAttachment services executes the following operations:
- Reads a file from a directory of input (in this case TestAttach/input)
- Sends an email with this file as attachment
- Moves sent file to another directory (we choose TestAttach/sent)
VulCon Configuration
To configure TestFileAttachment service follow these steps:
- Define the System, Channel and Operations required
- Define the Services
- Implement the flows.
Defining System, Channel and Operations
To define a System, go to VulCon core view and, into Systems element, insert the System GVESB if it is not already present. Inside of it create the Channel TEST_CHANNEL_FILE in which the following operations will be configured:
Attribute/Subelement | Value |
---|---|
name | ScanAttachments
FileCommands:
|
Attribute/Subelement | Value |
---|---|
name | MoveAttachments
FileCommands:
|
Attribute | Value |
---|---|
jndi-name | gvesb.mailServer |
name | SendEmail |
mail-message | content-type="text-html" high-priority="true" sender-display-name="GV ESB" subject="Test send attachments"
|
Flow implementation
To implement the TestFileAttachment service Flow design it as shown in the picture:
The service searchs the files present in a directory, sends it as attachment and moves it into another directory.
The following table shows the nodes and attributes to be defined:
Attribute/Subelement | Value |
---|---|
first-node | Prepare |
Conditions/GVBufferCondition | condition="FilesFound" type="condition"
Property:
|
GVOperationNode | dump-in-out="false" id="list_files" id-system="GVESB" input="input" next-node-id="check_files" op-type="call" operation-name="ScanAttachments" output="files" |
GVNodeCheck | default-id="end-nofiles" id="check_files" input="files" on-exception-id="end" GVRouting:
|
ChangeGVBufferNode | dump-in-out="true" id="prepare" input="files" next-node-id="send_email" output="files" ChangeGVBuffer: clear-data="false"
|
GVOperationNode | dump-in-out="false" id="send_email" id-system="GVESB" input="files" next-node-id="move_files" operation-name="SendEmail" output="files" |
GVOperationNode | dump-in-out="false" id="move_files" id-system="GVESB" input="files" next-node-id="end" operation-name="MoveAttachments" output="files" |
GVEndNode | end-business-process="yes" id="end-nofiles" output="files" |
GVEndNode | end-business-process="yes" id="end" output="files" |
Save the editor clicking on the Save icon of Eclipse. Control that there are not errors in the flow and save it in the apposite icon present in the Core View of VulCon®. From the Project view, expand your project, refresh (f5), and right clicking the folder "conf" export your new configuration.
GV Console Configuration
It is time to deploy and test your new Service. To do that execute the following steps:
Suppose you have saved the VulCon Configuration file as "${{gv.app.home}}/TEST/REPG1.zip". To deploy the new Service follow this steps:
- Start GreenVulcano® ESB
- Access to the GV Console.
- In the Deploy New Service section click Sfoglia... (Browse) and select the file where you have saved the VulCon configuration.
- `Click Submit.
The section Deploy Services will be open. In this section you can select the services you want to deploy.
- Clicking on service TestFileAttachment a new view will be open containing the files GVCore.xml present in local and in server.
- Click Deploy. Now you can save the document and write some notes about it.
- Save the Document. By saving you will return to the Deploy Service section.
Now pass to the GV Console section Utility.
- Click on Reload configuration
- Select GVCore.xml and then Reload. A new windows will be open to confirm the operation
- Click OK.
Go to the GV Console section Testing. In this section you can finally test your new services:
- Into the Service voice select TestFileAttachment
- Into the System voice select GVESB
- Click RequestReply
The Testing View will be expanded and it is also possible to view the GVBuffer Output panel where there are present some properties, among these the GVFM_FOUND_FILES_NUM property setted to 3, representing the number of files found.
The file TestOutput.txt will be generated in the directory ${{gv.app.home}}/log as previously setted (see Testing, data input area) containing information about the files found and the email already sent.
<pre>
----------- TEST N. 0 2012.02.15 at 18:02:32 -----------
Standard Field:
system = GVESB
service = EmailFileAttachment
id = 7F0001014F3BE51400059DBA
retCode = 0
GVBuffer: class java.lang.String
Properties:
messageID = <9388830.11329325352084.JavaMail.gv1@gv.com>
GVFM_FOUND_FILES_LIST = <nowiki>${{gv.app.home}}</nowiki>/TEST/TESTFS/TestAttach/input/001.txt;
<nowiki>${{gv.app.home}}</nowiki>/TEST/TESTFS/TestAttach/input/002.txt;
<nowiki>${{gv.app.home}}</nowiki>/TEST/TESTFS/TestAttach/input/003.txt
GVFM_FOUND_FILES_NUM = 3
GV_SMTP_ATTACHMENTS = <nowiki>${{gv.app.home}}</nowiki>/TEST/TESTFS/TestAttach/input/001.txt;
<nowiki>${{gv.app.home}}</nowiki>/TEST/TESTFS/TestAttach/input/002.txt;
<nowiki>${{gv.app.home}}</nowiki>/TEST/TESTFS/TestAttach/input/003.txt
</pre>
Set a new account with the properties:
Server SMTP/POP3
- SMTP : localhost:3025
- POP3: localhost:3110
- Server mailbox: gv1@gv.com (gv1/gv1)
- Client mailbox: gv2@gv.com (gv2/gv2)
gv3@gv.com (gv3/gv3)
You will receive an email as this shown in the picture.
You can also check that the files where moved into the directory ${{gv.app.home}}/TEST/TESTFS/TestAttach/sent.