2017-10-20 36 views
1

我正在尝试在Genexus 15中创建过程并从Java环境调用,但是当我将jar文件导入到Java时,无法调用该函数。在Java环境中调用Genexus过程存根

我创建一个简单的程序与存根如下:部署应用程序时

stub salvadados(in:&StringTeste, out:&StringRetorno) 
    &StringRetorno = "ola " + &StringTeste 
endstub 

Genexus正在生成.jar文件,然后我将其导入的NetBeans。导入是成功的,它承认我创建的过程,但是当我访问它的方法时,没有呼叫我的存根。

我的Java类如下。我想在函数EnviaDados中调用我的存根。

​​

我错过了什么?我感谢任何帮助。

+0

为什么要扩展'GXProcedure'类? – ncardeli

+0

我刚刚使用它,因为我在示例代码中找到了它。也尝试没有扩展,但我不能让它工作。 –

回答

1

我找到了解决方案。我所做的是在我的Genexus项目上创建一个测试Web面板,并调用我创建的过程。在这种WPanel我只是把触发以下事件Button组件:

Event 'Teste' 
    ptesteintegracao.salvadados("oi", &retorno) 
Endevent 

我不知道为什么,但在进行此调用我的程序,在某种程度上它迫使Genexus重建的java文件我的过程中,它没有用这个唯一的选项来编译,重建或构建。重新创建时,我的java类是与我的过程存根对应的函数。

在那之后,我刚刚部署的应用程序,生成新的.jar文件并导入它在我的NetBeans项目,我的功能是可用的:

ptesteintegracao.gxep_salvadados("teste", stringReturn); 
0

这里是上述问题的修正。

私有执行方法需要输出参数。

... this: new ptesteintegracao(remoteHandle,context).gxep_salvadados(“teste”);

...应该是这样的: new String retorno = new ptesteintegracao(remoteHandle,context).gxep_salvadados(“teste”);

+0

谢谢你的回答,但那不是问题。 我的问题是我找不到函数gxep_salvadados,但我不知道问题在哪里,如果它在我的Java代码或我的Genexus应用程序中。 –