Google Summer of Code 2007 Project Proposal


Implement mail transport(SMTP/POP3) support for SOAP 1.2 for Axis2/C


Rajika Kumarasiri

Email ,



Project Title

Implementing Mail Transport (SMTP/POP3) support for SOAP 1.2 for Axis2/C

Project Detail

Apache Axis2/C is the C implementation of the Apache Aixs2 architecture in C. Currently Axis2/C use HTTP as the general transport. The aim of this project is to give Axis2/C mail transport supports (SMTP/POP3) following the same architecture of Apache Axis2/Java mail transport support. The project is going to be done using the SOAP 1.2 binding to mail transport and SOAP 1.2 Email binding diagram describe the path of a SOAP message through Mail Trnasport avalable here

This approach ensures that the SOAP message is attached as a Base64 encoded MIME attachment. And the aim of this approach is to reduce the chance of mail scanners and SPAMS filters modifying the SOAP body.

At the end users can use mail transport for Axis2/C in addition to the HTTP transport. Main features of the project will be as follows. And also the project will be done keeping extensibility in mind letting other protocols(ex.IMAP4) to be plugged.

1. Allows users to use mail transport

2. Implement SMTP/POP3/MIME Base64 Transport Binding for SOAP 1.2 for Axis2/C


1. The mail (SMTP/POP3) transport supports for Axis2/c.

2. The documentation of the project including user guides and manuals.

3. Release 1st Milestone.

Project Plan

I arranged my development cycle of the project into four steps. I try to stick to this schedule as far as I can and get valuable feedback from my mentors. I hope to follow the open source software development methods in my project by appearing in the Axis2/C development mailing list and other Axis2/C related communities.

1. Initial planning and designing of the project- to be finished by 31st May

Within this period I will look into understand the Axis2/Java architecture of SMTP/POP3 binding. This includes the study of the existing architecture and designing the C specific architecture for the project.

Deliverable(s): Architectural design description

2. Implementation of the design – to be finished by 5th of July

This time will be spent to implement the design which is specified in the step1. This period will be the main development period where development and debugging will be taken place. At the same time get ready for mid evaluation.

Deliverables(s):Prototypes and documentation for the mid evaluation.

3 .Modifications and samples – to be finished by 1st of August

This period will be taken to add new features, modify the code for deliverable and to write samples and tests to show how the clients can use the SMTP/POP3 transport.

Deliverable(s) : Samples and test with improved code.

4. Final code touch ups and completion of the documentation- to be finished by 13th of August

During this stage the code would be format and tested rigorously for the production quality codes. Documentation would also be completed for the final evaluation.

Deliverable(s) : Final product and Documentation


I am third year engineering student specialized in Computer Science and Engineering at University of Moratuwa, Sri Lanka. Now I am at my internship. While at the internship I involved in several interesting projects. This includes a JavaScript library which is a SOAP client and a Firefox extension. Both this introduced a new JavaScript object, WSRequest which can be used to consume web services. All these are free and open source which can get from here These days I am on the work of embeding Spider Monkey(Javascript c engine) to Axis2/C server side. While doing these projects I involved in Apache Axis2/C project and now I have a fair knowledge in Axis2/C SOAP stack and how a open source project is developed by the community.

In addition to these this I wrote a simple game in C programming language(which includes GTK+). And also I developed a ship positioning system which is capable of indicating the ship location on maps. I donate it to Sri Lanka Navy. A detailed description about these projects can be found by following the above project link.

I finally believed that by involving in this kind competition will provide me a good opportunity to involve in open source projects. Google summer of code is a good competition to apply my theoretical knowledge to something useful which is going to be used and improved by the rest of the community. That is my motivation towards this competition.


1. SMTPBase64Binding(

2. SOAP 1.2 Email binding([])

3. My project page (

4. Department of Computer Science (