Hello,
I created a stored procedure in ORACLE database (11g), which takes a parameter of XML type. When I call the stored procedure in NewFormDataReceiver controller, it returns error.
It seems like WebMaker controller is not handling xml parameter for oracle as expected.
Calling the same stored procedure with the same xml in Oracle SQL Developer works well.
How can I resolve this issue? I appreciate your help.
NOTE: The target oracle version for the final product is 12c even thought the development test was done using 11g
WebMaker version: ------------------------------------------
Product Version: BizFlow Version 12.4 Release
WebMaker Version: 8.0
Build Date: August 14 2015
Build No.: build.1733
Revision: r19305
Input parameter from debugger -------------------------------------------
-<sql_query>
<statement>{ call SP_UPDATE_FORM_DATA ( 1, 'CMSFORM', ? ) } </statement>
-<params>
<param position="1" type="xml" value="<DOCUMENT xmlns=""><Name>MMMMNNNN</Name><DOB>2017-01-03</DOB><Address><Street>123 Mathias Road</Street><City>Alexandria</City><State>VA</State><City>22004</City></Address></DOCUMENT>"/>
</params>
</sql_query>
Input parameter from debugger (Copy XML window) -------------------------------------------
<sql_query><statement>{ call SP_UPDATE_FORM_DATA ( 1, 'CMSFORM', ? ) } </statement><params><param position="1" type="xml" value="<DOCUMENT xmlns=""><Name>MMMMNNNN</Name><DOB>2017-01-03</DOB><Address><Street>123 Mathias Road</Street><City>Alexandria</City><State>VA</State><City>22004</City></Address></DOCUMENT>"/></params></sql_query>
Error message: --------------------------------
XEngine.Effectors.SQLException Rule ID: save_to_db Action ID: call_update_formdata SQL Statement: { call SP_UPDATE_FORM_DATA ( 1, 'CMSFORM', ? ) }
Stack trace: -----------------------------------
java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'SP_UPDATE_FORM_DATA'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:204)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1041)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4714)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1376)
at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
at com.hyfinity.xengine.effectors.SQLStatement.effect(SQLStatement.java:626)
at com.hyfinity.xengine.effectors.BaseEffector.effect(BaseEffector.java:234)
at com.hyfinity.xengine.effectors.SQLStatement.effect(SQLStatement.java:47)
at com.hyfinity.xengine.core.Rule.fireWithoutContext(Rule.java:198)
at com.hyfinity.xengine.core.Rule.fire(Rule.java:147)
at com.hyfinity.xengine.core.RuleBase.processRules(RuleBase.java:303)
at com.hyfinity.xengine.core.RuleBase.forwardChain(RuleBase.java:219)
at com.hyfinity.xengine.XEngine.execute(XEngine.java:103)
at com.hyfinity.xagent.StandardXAgent.callXMLService(StandardXAgent.java:197)
at com.hyfinity.xagent.StandardXAgent.service(StandardXAgent.java:172)
at com.hyfinity.xplatform.XPlatform.service(XPlatform.java:430)
at com.hyfinity.xplatform.XPlatform.serviceRequest(XPlatform.java:388)
at com.hyfinity.xengine.effectors.Service.callService(Service.java:226)
at com.hyfinity.xengine.effectors.Service.effect(Service.java:180)
at com.hyfinity.xengine.effectors.BaseEffector.effect(BaseEffector.java:234)
at com.hyfinity.xengine.effectors.Service.effect(Service.java:30)
at com.hyfinity.xengine.core.Rule.fireWithoutContext(Rule.java:198)
at com.hyfinity.xengine.core.Rule.fire(Rule.java:147)
at com.hyfinity.xengine.core.RuleBase.processRules(RuleBase.java:303)
at com.hyfinity.xengine.core.RuleBase.forwardChain(RuleBase.java:219)
at com.hyfinity.xengine.XEngine.execute(XEngine.java:103)
at com.hyfinity.xagent.StandardXAgent.callXMLService(StandardXAgent.java:197)
at com.hyfinity.xagent.StandardXAgent.service(StandardXAgent.java:172)
at com.hyfinity.xplatform.XPlatform.service(XPlatform.java:430)
at com.hyfinity.xgate.HTTP2Java.processAction(HTTP2Java.java:1085)
at com.hyfinity.xgate.HTTP2Java.doPost(HTTP2Java.java:639)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
I created a stored procedure in ORACLE database (11g), which takes a parameter of XML type. When I call the stored procedure in NewFormDataReceiver controller, it returns error.
It seems like WebMaker controller is not handling xml parameter for oracle as expected.
Calling the same stored procedure with the same xml in Oracle SQL Developer works well.
How can I resolve this issue? I appreciate your help.
NOTE: The target oracle version for the final product is 12c even thought the development test was done using 11g
WebMaker version: ------------------------------------------
Product Version: BizFlow Version 12.4 Release
WebMaker Version: 8.0
Build Date: August 14 2015
Build No.: build.1733
Revision: r19305
Input parameter from debugger -------------------------------------------
-<sql_query>
<statement>{ call SP_UPDATE_FORM_DATA ( 1, 'CMSFORM', ? ) } </statement>
-<params>
<param position="1" type="xml" value="<DOCUMENT xmlns=""><Name>MMMMNNNN</Name><DOB>2017-01-03</DOB><Address><Street>123 Mathias Road</Street><City>Alexandria</City><State>VA</State><City>22004</City></Address></DOCUMENT>"/>
</params>
</sql_query>
Input parameter from debugger (Copy XML window) -------------------------------------------
<sql_query><statement>{ call SP_UPDATE_FORM_DATA ( 1, 'CMSFORM', ? ) } </statement><params><param position="1" type="xml" value="<DOCUMENT xmlns=""><Name>MMMMNNNN</Name><DOB>2017-01-03</DOB><Address><Street>123 Mathias Road</Street><City>Alexandria</City><State>VA</State><City>22004</City></Address></DOCUMENT>"/></params></sql_query>
Error message: --------------------------------
XEngine.Effectors.SQLException Rule ID: save_to_db Action ID: call_update_formdata SQL Statement: { call SP_UPDATE_FORM_DATA ( 1, 'CMSFORM', ? ) }
Stack trace: -----------------------------------
java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'SP_UPDATE_FORM_DATA'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:204)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1041)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4714)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1376)
at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
at com.hyfinity.xengine.effectors.SQLStatement.effect(SQLStatement.java:626)
at com.hyfinity.xengine.effectors.BaseEffector.effect(BaseEffector.java:234)
at com.hyfinity.xengine.effectors.SQLStatement.effect(SQLStatement.java:47)
at com.hyfinity.xengine.core.Rule.fireWithoutContext(Rule.java:198)
at com.hyfinity.xengine.core.Rule.fire(Rule.java:147)
at com.hyfinity.xengine.core.RuleBase.processRules(RuleBase.java:303)
at com.hyfinity.xengine.core.RuleBase.forwardChain(RuleBase.java:219)
at com.hyfinity.xengine.XEngine.execute(XEngine.java:103)
at com.hyfinity.xagent.StandardXAgent.callXMLService(StandardXAgent.java:197)
at com.hyfinity.xagent.StandardXAgent.service(StandardXAgent.java:172)
at com.hyfinity.xplatform.XPlatform.service(XPlatform.java:430)
at com.hyfinity.xplatform.XPlatform.serviceRequest(XPlatform.java:388)
at com.hyfinity.xengine.effectors.Service.callService(Service.java:226)
at com.hyfinity.xengine.effectors.Service.effect(Service.java:180)
at com.hyfinity.xengine.effectors.BaseEffector.effect(BaseEffector.java:234)
at com.hyfinity.xengine.effectors.Service.effect(Service.java:30)
at com.hyfinity.xengine.core.Rule.fireWithoutContext(Rule.java:198)
at com.hyfinity.xengine.core.Rule.fire(Rule.java:147)
at com.hyfinity.xengine.core.RuleBase.processRules(RuleBase.java:303)
at com.hyfinity.xengine.core.RuleBase.forwardChain(RuleBase.java:219)
at com.hyfinity.xengine.XEngine.execute(XEngine.java:103)
at com.hyfinity.xagent.StandardXAgent.callXMLService(StandardXAgent.java:197)
at com.hyfinity.xagent.StandardXAgent.service(StandardXAgent.java:172)
at com.hyfinity.xplatform.XPlatform.service(XPlatform.java:430)
at com.hyfinity.xgate.HTTP2Java.processAction(HTTP2Java.java:1085)
at com.hyfinity.xgate.HTTP2Java.doPost(HTTP2Java.java:639)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)