WSO2 Data Services Server Frequently Asked Questions

Contents

  1. When invoking the data service through Try-it 'INCOMPATIBLE_PARAMETERS_ERROR' is returned ?
  2. Why am I getting 'Cannot load JDBC driver class com.mysql.jdbc.Driver' exception when i try to create a Data Source in WSO2 DSS ?
  3. How to get a SOAP response when invoking an IN-ONLY operation in DSS ?
  4. Why are the security policies getting removed, when the data service is updated ?
  5. Why is HTTP status code 200 OK returned for data service requests ?
  6. Why server getting slow down eventually when we invoking a service in transport scope ?

1. When invoking the data service through Try-it 'INCOMPATIBLE_PARAMETERS_ERROR' is returned ?

When you haven't specified the required parameters in the request message above error is returned.

2. Why am I getting 'Cannot load JDBC driver class com.mysql.jdbc.Driver' exception when i try to create a Data Source in WSO2 DSS ?

You need to add your MySQL driver to /repository/components/lib and restart the server.

3. How to get a SOAP response when invoking an IN-ONLY operation in DSS ?

Setting returnRequestStatus attribute to true in dataservice operation as follows, will return the response for IN-ONLY operations.
<operation name="operation1" returnrequeststatus="true">
<call-query href="query1">
<with-param name="dm1" query-param="dm1"/>
<with-param name="dm2" query-param="dm3"/>
</call-query>

4. Why are the security policies getting removed, when the data service is updated ?

When you update the service, it is getting changed and re-deployed. So if you have edited the service, you have to finalize the service by adding necessary policies.

5. Why is HTTP status code 200 OK returned for data service requests ?

This is observed for data service requests which have a result, which is because of the default streaming behavior. When streaming is enabled for a service, the actual data service request execution is happenning at the very edge of the execution path, so at this point, the HTTP headers would have written out. So to get a proper HTTP 500 code for SOAP faults, streaming must be disabled. Streaming property can be set in service level as well as the operation level.

6. Why server getting slow down eventually when we invoking a service in transport scope ?

When we have transport session scoped services(when we enable boxcarring) and if we don't maintain the HTTP session, Axis2 server creates new context objects in the backend for each request. So these objects pile up and ultimately will run out of memory. Therefore when boxcarring is enabled, the user always have to retain the session (send back the session cookie) else server will eventually go out of memory and before that the server will become slow. If you are using Axis2 client to send request, you can set this by setting 'Options.setManagedSession(true)'.