WSO2迭代中介查询

时间:2017-03-11 08:13:08

标签: java wso2esb

其实我正在使用代理服务并给出了一个如下所示的要点: -

  <iterator>
            <target>
                 <sequence>
                                <class name="mediator.code.SampleCustomMediator"></class>
                                <log level="full" separator=",**after updatedb call**">
                                <property name="Response" expression="get-property('status')"></property>
                                </log>

                 </sequence>
                 </target>
                 </iterator>




Class mediator code;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

public class SampleCustomMediator extends AbstractMediator {
String updateQuery = "Update Table.440 Set DSP = '"+DSP+"',USER = '"+USER+"',PID = '"+PID+"',PMJ="+PMJ+",PMT="+PMT+" Where DSP<>'Y' AND PO='"+PO+"' AND PD='"+PD+"' AND SD="+SD;
                System.out.println("Query String: "+updateQuery);
                result = stmt.executeUpdate(updateQuery);
                if(result>0){
                    String response = "successfully updated "+result+" rows";
                    System.out.println("successfully added "+result);
                    context.setProperty("status",response);
                    return true;
                }

                else{
                    System.out.println("failed");
                    context.setProperty("status","0 rows were updated");
                    return true;
                }           
                }

代理工作正常。

但是,无法记录Response的值。

每次显示为空。

我想在迭代器中介器执行时每次都看到Response的值。

我尝试过使用“$ ctx:status”,payloadFactory mediator(在args上使用相同的表达式)。

但它不起作用。

我将如何做?

0 个答案:

没有答案