Ok, I have added the relates-to. But now I get the following error:
Data source reference "test" not found for external variable {http://mytest.com}test-29#evar1; make sure to register the data source with the engine!
The example didn't work either. Can you help me further here? Thanks. Rafal Rusin wrote:
You need to have 'pointer to a row' variable defined using relates-to, like this: <variable name="external" element="foo:row" xvar:id="evar1" xvar:relates-to="idx"/> You can try to run this example: http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.X/bpel-test/src/test/resources/bpel/2.0/ExtVar/HelloWorld2.bpel On 28 April 2010 08:51, Hoang Phung <[email protected]> wrote:Hi all, I'm trying to access mysql database from inside BPEL process using JDBC external variable as instructed on the ODE website. I have done the following: * Insert the following in the Tomcat server file, inside the Host element: <Context path="/ode" docBase="ode" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/ODEDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="username" password="pass" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/ode?autoReconnect=true"/> </Context> <Context path="/test" docBase="test" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/ODEDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="username" password="pass" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test?autoReconnect=true"/> </Context> * Declare the following in deploy.xml file: <xvar:externalVariable id="evar1" > <jdbc:jdbc xmlns:jdbc="http://ode.apache.org/externalVariables/jdbc" xmlns="http://ode.apache.org/externalVariables/jdbc"> <datasource-ref>test</datasource-ref> <table>shop</table> <column name="article" key="yes" /> <column name="dealer" /> <column name="price" /> </jdbc:jdbc> </xvar:externalVariable> * Declare the following in wsdl file: <element name="DBRow"> <complexType> <sequence> <element name="_article" type="int"/> <element name="_dealer" type="string"/> <element name="_price" type="double"/> </sequence> </complexType> </element> * And finally, declare an external variable in bpel file: <bpel:variable name="tmp" element="tns:DBRow" xvar:id="evar1"></bpel:variable> However, I keep getting the following errors when deploying it: ERROR - GeronimoLog.error(104) | file:/usr/lib/apache-tomcat-5.5.27/webapps/ode/WEB-INF/processes/temp/test.bpel:44: error: [MustSpecifyRelatedVariable] The external variable declaration for "tmp" must specify a related variable. ERROR - GeronimoLog.error(104) | file:/usr/lib/apache-tomcat-5.5.27/webapps/ode/WEB-INF/processes/temp/test.bpel:77: error: [UndeclaredVariable] Attempt to reference undeclared variable "tmp". Would someone please point out where I went wrong, or point me to an example on using external variable to access mysql from a BPEL process? Thanks in advance. Hoang
UTS CRICOS Provider Code: 00099F DISCLAIMER: This email message and any accompanying attachments may contain confidential information. If you are not the intended recipient, do not read, use, disseminate, distribute or copy this message or attachments. If you have received this message in error, please notify the sender immediately and delete this message. Any views expressed in this message are those of the individual sender, except where the sender expressly, and with authority, states them to be the views of the University of Technology Sydney. Before opening any attachments, please check them for viruses and defects. Think. Green. Do. Please consider the environment before printing this email.
