Java环境下调用Genexus过程存根
我目前正试图在Genexus15中创建一个过程并从Java环境调用,但是当我将jar文件导入Java时,无法调用该函数 我正在使用存根创建一个简单的过程,如下所示:Java环境下调用Genexus过程存根,java,genexus,Java,Genexus,我目前正试图在Genexus15中创建一个过程并从Java环境调用,但是当我将jar文件导入Java时,无法调用该函数 我正在使用存根创建一个简单的过程,如下所示: stub salvadados(in:&StringTeste, out:&StringRetorno) &StringRetorno = "ola " + &StringTeste endstub Genexus在部署应用程序时生成.jar文件,然后我在NetBeans上导入它。导入成功,它
stub salvadados(in:&StringTeste, out:&StringRetorno)
&StringRetorno = "ola " + &StringTeste
endstub
Genexus在部署应用程序时生成.jar文件,然后我在NetBeans上导入它。导入成功,它识别我创建的过程,但是当我访问它的方法时,没有对存根的调用
我的Java类如下所示。我想在函数EnviaDados中调用我的存根
import com.genexus.GXProcedure;
import com.genexus.GXutil;
import com.genexus.ModelContext;
import com.genexus.reports.GXcfg;
import com.kbtesteintegracao.projeto.ptesteintegracao;
public class IntegracaoGenexus extends GXProcedure {
ptesteintegracao ptesteintegracao;
public void executeCmdLine(String args[]) {
execute();
}
public IntegracaoGenexus(int remoteHandle) {
super(remoteHandle, new ModelContext(IntegracaoGenexus.class), "");
}
public IntegracaoGenexus(int remoteHandle, ModelContext context) {
super(remoteHandle, context, "");
}
public void iniciar() {
ptesteintegracao = new ptesteintegracao(remoteHandle, context);
}
public void EnviaDados(String strDados) {
//ptesteintegracao.gxep_salvadados(strDados);
}
public void execute() {
execute_int();
}
private void execute_int() {
initialize();
privateExecute();
}
private void privateExecute() {
new ptesteintegracao(remoteHandle, context).gxep_salvadados("teste");
cleanup();
}
public static Object refClasses() {
GXutil.refClasses(IntegracaoGenexus.class);
return new GXcfg();
}
protected void cleanup() {
CloseOpenCursors();
exitApplication();
}
protected void CloseOpenCursors() {
}
/* Aggregate/select formulas */
public void initialize() {
/* GeneXus formulas. */
Gx_err = (short)(0) ;
}
private short Gx_err ;
}
我错过了什么?非常感谢您的帮助。这里是对上述问题的更正 私有执行方法需要输出参数 ……这: 新的ptesteintegracao(remoteHandle,context).gxep_salvadados(“teste”) …应该是这样的:
新字符串returno=new ptesteintegracao(remoteHandle,context).gxep_salvadados(“teste”) 我找到了解决办法。我所做的是在我的Genexus项目上创建一个测试Web面板,并调用我创建的过程。在这个WPanel中,我只放置了一个触发以下事件的按钮组件:
Event 'Teste'
ptesteintegracao.salvadados("oi", &retorno)
Endevent
我不知道为什么,但通过调用我的过程,它以某种方式迫使Genexus重新创建了我的过程的.java文件,而这不是使用build、rebuild或build选项所做的。当重新创建时,我的java类带有与我的过程存根对应的函数
之后,我部署了应用程序,生成了一个新的.jar文件,并将其导入到我的NetBeans项目中,我的函数可用:
ptesteintegracao.gxep_salvadados("teste", stringReturn);
为什么要扩展
GXProcedure
类?我之所以使用它,是因为我在示例代码中找到了它。我也尝试过没有扩展,但我也无法让它工作。谢谢你的回答,但这不是问题所在。我的问题是我找不到gxep_salvadados函数,但我不知道问题出在哪里,是在我的Java代码中还是在Genexus上的应用程序中。