我想用XML创建简单的wso2 Web服务,以便在数据库和打印日志中保存记录。
答案 0 :(得分:1)
要将记录保存到数据库中,可以使用“ DB Report Mediator”
<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 Mediator
<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>
我们可以使用Log Mediator
记录上述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>
答案 1 :(得分:0)
您可以使用DB Report Mediator来编写数据,也可以使用日志介体来打印日志。要公开服务,您可以创建proxy service或rest api