This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.
Converting the SOAP Messages to Plain Text Mail
Follow the instructions below to convert a SOAP message to a plain text mail (without any XML in it).
1. Download and set up WSO2 ESB using instructions given in section Getting Started. We refer to the distribution home as ESB_HOME
.
2. Uncomment the mail TransportSender
and TransportReceiver
from ESB_HOME/repository/conf/axis2/axis2.xml
file.
<transportSender name="mailto"> <parameter name="mail.smtp.host">smtp.gmail.com</parameter> <parameter name="mail.smtp.port">587</parameter> <parameter name="mail.smtp.starttls.enable">true</parameter> <parameter name="mail.smtp.auth">true</parameter> <parameter name="mail.smtp.user">synapse.demo.0</parameter> <parameter name="mail.smtp.password">mailpassword</parameter> <parameter name="mail.smtp.from">synapse.demo.0@gmail.com</parameter> </transportSender> <transportReceiver name="mailto"> </transportReceiver>
3) Add the following line to axis2.xml files's MessageFormatters
.
<messageFormatter contentType="text/plain"/>
4) Build the SimpleStockQuote
service and run the sample Axis2 Server (ESB_HOME\samples\axis2Server>axis2server.bat
). For instructions, go to Setting Up the ESB Samples and then select the sub heading Starting Sample Back-End Services.
5) Start the ESB server by running,
ESB_HOME/bin/
wso2server.bat
for windowsESB_HOME/bin/
wso2server.sh
6) Go to the ESB management console UI ( https://localhost:9443/carbon
) and log in to it using credentials admins/admin.
7) Create a Proxy Service using the following Proxy configuration. For instructions on creating proxy services, refer to Adding a Proxy Service.
<!-- Using the mail transport --> <definitions xmlns="http://ws.apache.org/ns/synapse"> <proxy name="StockQuoteProxy" transports="mailto"> Â Â Â <parameter name="transport.mail.Address">synapse.demo.1@gmail.com</parameter> Â Â Â <parameter name="transport.mail.Protocol">pop3</parameter> Â Â Â <parameter name="transport.PollInterval">5</parameter> Â Â Â <parameter name="mail.pop3.host">pop.gmail.com</parameter> Â Â Â <parameter name="mail.pop3.port">995</parameter> Â Â Â <parameter name="mail.pop3.user">synapse.demo.1</parameter> Â Â Â <parameter name="mail.pop3.password">mailpassword</parameter> Â Â Â <parameter name="mail.pop3.socketFactory.class">javax.net.ssl.SSLSocketFactory</parameter> Â Â Â <parameter name="mail.pop3.socketFactory.fallback">false</parameter> Â Â Â <parameter name="mail.pop3.socketFactory.port">995</parameter> Â Â Â <parameter name="transport.mail.ContentType">application/xml</parameter> Â Â Â <target> Â Â Â Â Â Â Â <inSequence> Â Â Â Â Â Â Â Â Â Â Â <property name="senderAddress" expression="get-property('transport', 'From')"/> Â Â Â Â Â Â Â Â Â Â Â <log level="full"> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <property name="Sender Address" expression="get-property('senderAddress')"/> Â Â Â Â Â Â Â Â Â Â Â </log> Â Â Â Â Â Â Â Â Â Â Â <send> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <endpoint> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â </endpoint> Â Â Â Â Â Â Â Â Â Â Â </send> Â Â Â Â Â Â Â </inSequence> Â Â Â Â Â Â Â <outSequence> Â Â Â Â Â Â Â Â Â Â Â <property name="Subject" value="Custom Subject for Response" scope="transport"/> Â Â Â Â Â <property name="messageType" value="text/plain" scope="axis2-client"/> Â Â Â <script language="js"><![CDATA[ Â Â Â Â Â Â Â Â Â Â Â Â Â mc.setPayloadXML(<ns:text xmlns:ns="http://ws.apache.org/commons/ns/payload">Plain text received!</ns:text>); Â Â Â Â Â ]]></script> Â Â Â Â Â Â Â Â Â Â Â <header name="To" expression="fn:concat('mailto:', get-property('senderAddress'))"/> Â Â Â Â Â Â Â Â Â Â Â <log level="full"> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <property name="message" value="Response message"/> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <property name="Sender Address" expression="get-property('senderAddress')"/> Â Â Â Â Â Â Â Â Â Â Â </log> Â Â Â Â Â Â Â Â Â Â Â <send/> Â Â Â Â Â Â Â </outSequence> Â Â Â </target> Â Â Â <publishWSDL uri="file:repository/samples/resources/proxy/sample_proxy_1.wsdl"/> </proxy> </definitions>
8) Send an email to synapse.demo.1@gmail.com.
9) Verify that you receive the response in plain text.