2

我希望使用 Header mediator 向我的客户发送电子邮件。有没有可能我的代理是这样的

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="Mail"
       transports="https http"
       startOnLoad="true"
       trace="disable">
   <description/>
   <target>
      <inSequence>
         <log/>
         <property name="workpartybranchid"
                   expression="//workpartybranchid/text()"
                   scope="default"
                   type="STRING"/>
         <payloadFactory>
            <format>
               <p:SelectMail_Op xmlns:p="http://ws.wso2.org/dataservice">
                  <p:workpartybranchid>$1</p:workpartybranchid>
               </p:SelectMail_Op>
            </format>
            <args>
               <arg expression="get-property('workpartybranchid')"/>
            </args>
         </payloadFactory>
         <send receive="Mailseq">
            <endpoint>
               <address uri="http://192.168.1.4:9773/services/muser_DataService/"
                        format="soap11"/>
            </endpoint>
         </send>
      </inSequence>
   </target>
</proxy

对应的序列是

<sequence xmlns="http://ws.apache.org/ns/synapse" name="Mailseq" onError="fault">
   <property name="CONTENT_TYPE"
             value="application/json"
             scope="axis2"
             type="STRING"/>
   <property name="FORCE_ERROR_ON_SOAP_FAULT" value="true"/>
 <property xmlns:ns="http://org.apache.synapse/xsd"
             xmlns:s="http://ws.wso2.org/dataservice"
             name="primarymail"
             expression="//s:primarymail/text()"
             scope="axis2"
             type="STRING"/>
<log>
   <property xmlns:ns="http://org.apache.synapse/xsd"
             xmlns:s="http://ws.wso2.org/dataservice"
             name="primarymail"
             expression="//s:primarymail/text()"
             scope="axis2"
             type="STRING"/>
   </log>

<header name="To" expression="fn:concat('mailto:', get-property('primarymail'))"/>
<send/>
<log>
<property name="mail" value="ts working"/></log>
</sequence>

我们可以发送这样的电子邮件 ?以另一种方式要求也请参考这个 我们可以在 wso2esb 中以相同的顺序发送多个邮件还是动态设置一个邮件

4

1 回答 1

0

只需按照以下 URL 中的步骤操作(而不是标题部分,请使用端点,如下所示。这对我有用)

http://docs.wso2.org/wiki/display/ESB460/Sample+256%3A+Proxy+Services+with+the+Mail+Transport

如下添加发送邮件...(不需要标头中介)

 <send> <endpoint>
<address uri="mailto:yourmailaddr@gmail.com" />
</endpoint>
</send>
于 2013-07-11T06:28:19.030 回答