1

私はメールトランスポートを使用しており、axis2ファイルに変更を加えました.esbはメールで問題なく台無しになっていますが、私の問題は適切な形式を送信していないことです。本文も送信したいのですが、このように「件名」を送信するだけです。

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="StaticMail"
       transports="http"
       startOnLoad="true"
       trace="disable">
   <description/>
   <target>
      <inSequence>
         <property name="senderAddress"
                   expression="//mail/text()"
                   scope="default"/>
         <property name="Subject" value="Alert:Reading Out of Range" scope="transport"/>
         <property name="message" value="Response message" scope="transport"/>
         <property name="body" expression="//list/text()" scope="default"/>
         <header name="To"
                 expression="fn:concat('mailto:', get-property('senderAddress'))"/>
         <property name="OUT_ONLY" value="true"/>
         <log level="full">
            <property name="message" value="Response message"/>
            <property name="Sender Address" expression="get-property('senderAddress')"/>
         </log>
         <send/>
      </inSequence>
      <outSequence/>
   </target>
</proxy>

しかし、このような送信メール形式のみ

警告: 件名として範囲外を読んでいます。メールには誰もいません。"noname" の空の添付ファイルが 1 つあります。適切な本文でメールを送信する方法を教えてください。

4

1 に答える 1

6

Script Mediator を使用してこれを行うことができます。サンプルはこちら

これは、エラー メッセージを電子メールの本文として送信し、エラー コードを件名として送信する別の例です。ここでは、スクリプト メディエータの代わりにペイロード ファクトリが使用されます。

<faultSequence>
     <property xmlns:ns="http://org.apache.synapse/xsd" name="ErrorCode" expression="get-property('ERROR_CODE')" scope="default" type="INTEGER"/>
     <property name="ErrorMessage" expression="get-property('ERROR_MESSAGE')" scope="default" type="STRING"/>         
     <property name="messageType" value="text/html" scope="axis2"/>
     <property name="ContentType" value="text/html" scope="axis2"/>
     <property xmlns:ns="http://org.apache.synapse/xsd" name="Subject" expression="$ctx:ErrorCode" scope="transport"/>
     <payloadFactory>
        <format>
           <ns:text xmlns:ns="http://ws.apache.org/commons/ns/payload">$1</ns:text>
        </format>
        <args>
           <arg expression="$ctx:ErrorMessage"/>
        </args>
     </payloadFactory>
     <property name="OUT_ONLY" value="true"/>
     <send>
        <endpoint>
           <address uri="mailto:youremail@gmail.com"/>
        </endpoint>
     </send>
  </faultSequence>
于 2013-07-15T11:46:04.050 に答える