Hello Dmitry,
I deleted the service, restart the server and recreated the service
again. Below is the configuration of such an operation:
<!--================================= doFundsTransfer
======================================-->
<operation name="doFundsTransfer">
<description>Funds Transfer Function</description>
<call-query href="doFundsTransfer" >
<with-param name="uID" query-param="uID" />
<with-param name="uPass" query-param="uPass" />
<with-param name="transactionType" query-
param="transactionType" />
<with-param name="debitAccountNumber" query-
param="debitAccountNumber" />
<with-param name="debitCurrency" query-
param="debitCurrency" />
<with-param name="debitAmount" query-param="debitAmount" /
>
<with-param name="debitValueDate" query-
param="debitValueDate" />
<with-param name="creditAccountNumber" query-
param="creditAccountNumber" />
<with-param name="creditValueDate" query-
param="creditValueDate" />
<with-param name="creditTheirRef" query-
param="creditTheirRef" />
<with-param name="commissionCode" query-
param="commissionCode" />
<with-param name="chargeCode" query-param="chargeCode" />
<with-param name="channelName" query-param="channelName" /
>
</call-query>
</operation>
<query id="doFundsTransfer" useConfig="ACBMobile">
<sql>SELECT SENDOFS FUNDS.TRANSFER,/I/PROCESS,{{set ?1}}/
{{set ?2}},
TRANSACTION.TYPE:: = set ?3
DEBIT.ACCT.NO:: = set ?4
DEBIT.CURRENCY:: = set ?5
DEBIT.AMOUNT:: = set ?6
DEBIT.VALUE.DATE:: = set ?7
CREDIT.ACCT.NO:: = set ?8
CREDIT.VALUE.DATE: = set ?9
CREDIT.THEIR.REF:: = set ?10
COMMISSION.CODE:: = set ?11
CHARGE.CODE:: = set ?12
CHANNEL.NAME:: = set ?13
END
</sql>
<!-- application always returns @id -->
<result element="doFundsTransferResponse" rowName="ft" >
<element name="id" column="@ID" />
</result>
<param name="uID" sqlType="STRING"
type="IN" ordinal="1" />
<param name="uPass" sqlType="STRING"
type="IN" ordinal="2" />
<param name="transactionType" sqlType="STRING"
type="IN" ordinal="3" />
<param name="debitAccountNumber" sqlType="STRING"
type="IN" ordinal="4" />
<param name="debitCurrency" sqlType="STRING"
type="IN" ordinal="5" />
<param name="debitAmount" sqlType="STRING"
type="IN" ordinal="6" />
<param name="debitValueDate" sqlType="STRING"
type="IN" ordinal="7" />
<param name="creditAccountNumber" sqlType="STRING"
type="IN" ordinal="8" />
<param name="creditValueDate" sqlType="STRING"
type="IN" ordinal="9" />
<param name="creditTheirRef" sqlType="STRING"
type="IN" ordinal="10" />
<param name="commissionCode" sqlType="STRING"
type="IN" ordinal="11" />
<param name="chargeCode" sqlType="STRING"
type="IN" ordinal="12" />
<param name="channelName" sqlType="STRING"
type="IN" ordinal="13" />
</query>
and the error I get after I fill all those parameters in the order
shown is:
Fault: Internal Server Error [detail]
<faultstring>DS Fault Message: Error in 'SQLQuery.processNormalQuery'
Source Data Service:- Name: T24Test3 Location: C:\wsoa2\WSO2DA~1.2\bin
\..\repository\deployment\server\dataservices\T24Test3.dbs
Description: Test service Default Namespace:
http://my.namespace
Current Request Name: doFundsTransfer Current Params:
{debitCurrency=TZS, creditAccountNumber=10200686198,
channelName=MOBILE, creditTheirRef=TEST, creditValueDate=20101012,
uID=HMALIPULA, uPass=OL1VER123, transactionType=AC,
commissionCode=WAIVE, debitAmount=5000, chargeCode=WAIVE,
debitValueDate=20101012, debitAccountNumber=005009656717} Nested
Exception:- org.t24.driver.T24Exception: T24 OFS Error: SECURITY
VIOLATION
 at
org.t24.driver.T24ResultSet.t24ParseApp(T24ResultSet.java:198)
 at
org.t24.driver.T24ResultSet.<init>(T24ResultSet.java:173)
 at
org.t24.driver.T24QueryFormatter.executeOfs(T24QueryFormatter.java:
226)
 at
org.t24.driver.T24QueryFormatter.execute(T24QueryFormatter.java:
95)
 at
org.t24.driver.T24PreparedStatement.execute(T24PreparedStatement.java:
31)
 at
org.t24.driver.T24PreparedStatement.executeQuery(T24PreparedStatement.java:
42)
 at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:
93)
 at
org.wso2.carbon.dataservices.core.description.query.SQLQuery.processNormalQuery(SQLQuery.java:
476)
 at
org.wso2.carbon.dataservices.core.description.query.SQLQuery.runQuery(SQLQuery.java:
1412)
 at
org.wso2.carbon.dataservices.core.description.query.Query.execute(Query.java:
214)
 at
org.wso2.carbon.dataservices.core.engine.CallQuery.execute(CallQuery.java:
150)
 at
org.wso2.carbon.dataservices.core.engine.CallQueryGroup.execute(CallQueryGroup.java:
108)
 at
org.wso2.carbon.dataservices.core.description.operation.Operation.execute(Operation.java:
64)
 at
org.wso2.carbon.dataservices.core.engine.DataService.invoke(DataService.java:
318)
 at
org.wso2.carbon.dataservices.core.engine.DSOMDataSource.serialize(DSOMDataSource.java:
90)
 at
org.wso2.carbon.dataservices.core.engine.DSOMDataSource.serialize(DSOMDataSource.java:
76)
 at
org.apache.axiom.om.impl.llom.OMSourcedElementImpl.serializeAndConsume(OMSourcedElementImpl.java:
800)
 at
org.apache.axis2.transport.http.ApplicationXMLFormatter.writeTo(ApplicationXMLFormatter.java:
143)
 at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:
361)
 at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:
238)
 at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:
443)
 at
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:
45)
 at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:
114)
 at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:178)
at
org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:
144)
 at
org.apache.axis2.transport.http.util.RESTUtil.processXMLRequest(RESTUtil.java:
89)
 at org.apache.axis2.transport.http.AxisServlet
$RestRequestProcessor.processXMLRequest(AxisServlet.java:805)
 at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:
221)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:
709)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:
802)
 at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:
90)
 at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:
111)
 at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:
67)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:
802)
 at
org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:
154)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:
802)
 at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
269)
 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
188)
 at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
210)
 at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
174)
 at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
127)
 at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
117)
 at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
108)
 at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
151)
 at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
870)
 at org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
665)
 at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:
528)
 at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:
81)
 at org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:685)
 at
java.lang.Thread.run(Thread.java:619)
 </faultstring>
I don't know what went wrong. I filled the parameters in the order
shown. Funny enough, in another operation, when I pass the user and
pass via parameters it works.
I don't know what goes wrong and where.
Please help.
Thanks,
Hamisi
------