Usman
Usman

Reputation: 575

WSo2 ESB saving records in database

I want to make simple wso2 web service in XML that save records in database and print logs.

Upvotes: 0

Views: 576

Answers (2)

Danuka Praneeth
Danuka Praneeth

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

Nadeeshaan
Nadeeshaan

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

Related Questions