Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Objective: Using the Mail transport with Proxy Services.

Prerequisites
  • You will need access an e-mail account.
  • Start the Axis2 server and deploy the SimpleStockQuoteService if not already done.
  • Enable mail transport listener in the ESB axis2.xml. Simply uncomment the relevant transport receiver entry in the file.
  • Enable mail transport sender in the ESB axis2.xml. See Setting up mail transport sender.
  • Enable mail transport receiver in the ESB axis2.xml. See Setting up mail transport listener.
  • Start the Synapse configuration numbered 256: wso2esb-samples.sh -sn 256.
  • Send a plain/text e-mail with the following body and any custom Subject from your mail account.

    Code Block
    themeEclipse
    languagehtml/xml
    <m0:getQuote xmlns:m0="http://services.samples"><m0:request><m0>
    	<m0:request>
    		<m0:symbol>IBM</m0:symbol><symbol>
    	</m0:request><request>
    </m0:getQuote>
    
  • After a few seconds (for example 30 seconds), you should receive a POX response in your e-mail account with the stock quote reply.
Code Block
languagehtml/xml
linenumberstrue
<!-- 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"/>
                <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>

...