2016-09-05 9 views
0

私はWSO2 ESBから電子メールを送信しようとしており、1つのwos2ブログごとに設定しています。私は "MailTransportListener account:[email protected]のメールをチェックする"というエラーが表示されます。私はコードの何が間違っているのか分からないし、自分の電子メールIDで電子メールを送信することもできるので、すべてがうまく動作していることを知ることができます。WSO2 ESB

シナプスコード:あなたの応答のための

<proxy name="StockQuoteProxy" transports="mailto"> 

<parameter name="transport.mail.Address">[email protected]</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 name="SendEmailService" transports="http" startOnLoad="true" statistics="enable" trace="disable"> 
    <target inSequence="SendEmailService_IN" /> 
    <publishWSDL key="SendEmailService_wsdl"/> 
</proxy> 
<localEntry key="SendEmailService_wsdl" src="file:repository/conf/employee/OverseaseEmployee.wsdl"/> 
<sequence name="SendEmailService_IN"> 
<property name="Subject" value="Custom Subject for Response" scope="transport"/> 
    <property name="ContentType" value="text/plain" scope="axis2"/> 
    <property name="OUT_ONLY" value="true" scope="default" type="STRING"/> 
    <send> 
     <endpoint> 
      <address uri="[email protected]"/> 
     </endpoint> 
    </send> 
    <parameter name="mail.smtp.user">shrikant</parameter> 
    <parameter name="transport.mail.Protocol">smtp</parameter> 
    <parameter name="transport.mail.Address">[email protected]</parameter> 
    <parameter name="mail.smtp.port">587</parameter> 
    <parameter name="mail.smtp.password">pass</parameter> 
    <parameter name="transport.mail.ContentType">text/plain</parameter> 
    <parameter name="mail.smtp.starttls.enable">true</parameter> 
    <parameter name="mail.smtp.auth">true</parameter> 
    <parameter name="mail.smtp.from">[email protected]</parameter> 
    <parameter name="mail.smtp.host">smtp.gmail.com</parameter> 
<send/> 

</sequence> 
+0

に電子メールを送信するためにこのブログを参照することができますか? 'transports =" mailto "'を設定した場合、ESBに電子メールを送信してサービスを呼び出すことを意味します。それはあなたが欲しいものですか? – Bee

+0

資格情報を自分で変更しましたか? –

+0

サービスを受けると、私は電子メールを送ろうと思います。私は何が間違っているのか分からない:( –

答えて

1

サービスを呼び出して電子メールアドレスに返信する作業用プロキシです。ここでは、プロキシサービスの呼び出し方法に応じてtransports="http,https"を変更する必要があります。

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
     name="MyPxy" 
     transports="http,https" 
     statistics="disable" 
     trace="disable" 
     startOnLoad="true"> 
    <target> 
     <inSequence> 
     <send> 
      <endpoint> 
       <address uri="http://www.mocky.io/v2/57cd173e1200008620bb7826"/> 
      </endpoint> 
     </send> 
     </inSequence> 
     <outSequence> 
     <property name="Subject" 
        value="Custom Subject for Response" 
        scope="transport"/> 
     <property name="ContentType" value="text/plain" scope="axis2"/> 
     <property name="OUT_ONLY" value="true" scope="default" type="STRING"/> 
     <send> 
      <endpoint> 
       <address uri="mailto:[email protected]"/> 
      </endpoint> 
     </send> 
     <respond/> 
     </outSequence> 
    </target> 
    <parameter name="mail.smtp.user">fromemailuser</parameter> 
    <parameter name="transport.mail.Protocol">smtp</parameter> 
    <parameter name="transport.mail.Address">[email protected]</parameter> 
    <parameter name="mail.smtp.port">587</parameter> 
    <parameter name="mail.smtp.password">pass</parameter> 
    <parameter name="transport.mail.ContentType">text/plain</parameter> 
    <parameter name="mail.smtp.starttls.enable">true</parameter> 
    <parameter name="mail.smtp.auth">true</parameter> 
    <parameter name="mail.smtp.from">[email protected]</parameter> 
    <parameter name="mail.smtp.host">smtp.gmail.com</parameter> 
    <description/> 
</proxy>