Reputation: 575
I want to make simple wso2 web service in XML that save records in database and print logs.
Upvotes: 0
Views: 576
Reputation: 11
To save the record in the database you can use the "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>
To get a record from a database, you can use the 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>
We can log the results from the above dblookup statement using the Log Mediator
<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>
Upvotes: 1
Reputation: 376
You can use the DB Report Mediator for writing data and also use the log mediator for printing logs. For exposing the service you can create either a proxy service or a rest api
Upvotes: 0