我想用XML制作简单的wso2 Web服务,将记录保存在数据库中并打印日志。
要将记录保存在数据库中,您可以使用"数据库报告调解器">
<dbreport xmlns="http://ws.apache.org/ns/synapse">
<connection>
<pool>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost:3306/db_name</url>
<user>xxxx</user>
<password>xxxx</password>
</pool>
</connection>
<statement>
<sql><![CDATA[insert into table_name (column1, column2, column3) values ( ?,?,? )]]></sql>
<parameter type="VARCHAR" value="column1_entry"/>
<parameter type="VARCHAR" value="column2_entry"/>
<parameter type="VARCHAR" value="column3_entry"/>
</statement>
</dbreport>
要从数据库中获取记录,可以使用 DBLookup 中介器
<dblookup>
<connection>
<pool>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost:3306/db_name</url>
<user>xxxx</user>
<password>xxxx</password>
</pool>
</connection>
<statement>
<sql><![CDATA[select * from table_name where column1 = ?]]></sql>
<parameter type="VARCHAR" value="column1_value"/>
<result column="column1_name" name="result1"/>
<result column="column2_name" name="result2"/>
<result column="column3_name" name="result3"/>
</statement>
</dblookup>
我们可以使用日志调解器记录上述 dblookup 语句的结果
<log level="custom">
<property expression="get-property('result1')" name="log1"/>
<property expression="get-property('result2')" name="log2"/>
<property expression="get-property('result3')" name="log3"/>
</log>
您可以使用数据库报告中介器写入数据,也可以使用日志调解器打印日志。要公开服务,您可以创建代理服务或 rest API