You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2010/08/21 13:41:47 UTC

[jira] Commented: (CAMEL-3066) Result is empty after calling a stored procedure

    [ https://issues.apache.org/activemq/browse/CAMEL-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61316#action_61316 ] 

Claus Ibsen commented on CAMEL-3066:
------------------------------------

So you are saying the result from the {{client.queryForObject}} operation is a Map of some sort.

In which there is an OUT param (in that Map) and you want the camel-ibatis component to figure this out, and take out that OUT param and use as the result?

Can you put together a small example project / unit test we can use for unit testing?

> Result is empty after calling a stored procedure
> ------------------------------------------------
>
>                 Key: CAMEL-3066
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3066
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-ibatis
>    Affects Versions: 2.4.0
>         Environment: Windows, eclipse, oracle
>            Reporter: Ramon van den Hoven
>
> When calling a stored procedure in the following form {call lsuser.liq_vortex.LIQ_VORTEX_ALL_STRUCT(?,?,?,?,?)} where the last ? is an OUT param, the result is null.
> See for comments in the following function in the  IbatisProducer class
> Look for the NOTE:
> private void doQueryForObject(Exchange exchange) throws Exception {
>         SqlMapClient client = endpoint.getSqlMapClient();
>         Object result;
>         Object in = exchange.getIn().getBody();
>         if (in != null) {
>             if (LOG.isTraceEnabled()) {
>                 LOG.trace("QueryForObject: " + in + "  using statement: " + statement);
>             }
>             result = client.queryForObject(statement, in);
> NOTE: The in parameter has the resultset, in my case a HashMap, isn't it always a Map?
> should be something like:
>         result = in.get(outParameterKey)
>         } else {
>             if (LOG.isTraceEnabled()) {
>                 LOG.trace("QueryForObject using statement: " + statement);
>             }
>             result = client.queryForObject(statement);
>         }
>         doProcessResult(exchange, result);
>     }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.