在Xpages中从服务器端javascript / java调用C代码?

里德·里文堡(Reid Rivenburgh)

我正在尝试从IBM Domino中的Xpage调用一些第三方C代码。我有一个带有eventHandler的按钮,该按钮的动作创建一个Java对象,然后尝试执行一个方法,该方法只是尝试在DLL中加载并运行一个简单的测试C函数(通过JNA)。(它在Windows 7下运行。)这是Java代码:

interface CLibrary extends StdCallLibrary {       
      int hello();
}

public class MyHelloWorld {

    public void testImage() {
        CLibrary INSTANCE2 = (CLibrary) Native.loadLibrary("helloWorld", CLibrary.class);
        INSTANCE2.hello();

这是C代码:

#include <stdio.h>

int
hello()
{
  printf ("Hello World!\n");
}

我已将C代码编译为dll,并且已将.dll作为Designer中的Resources-> Files导入。我还将jna.jar文件放在服务器上的ext目录中。当我尝试运行所有这些时,出现500错误。这里发生了很多事情,所以我不确定是什么问题。日志文件显示得很少。有人做过吗?总而言之,我希望能够从XPage-> Java-> C进入。谢谢!

卡梅隆·格里高(Cameron Gregor)

巧合的是,我昨晚刚刚使用Xpages,JNA和nnotes.dll进行了此操作。

我怀疑您的库没有在loadLibrary阶段加载。

可以从xpages加载nnotes.dll,而无需进行任何额外的设置,大概是因为它在系统路径上,但是,在您的情况下,您将提供自己的dll,但我不确定是否可以在参考资料中找到您的dll。 -在loadLibrary()阶段的“文件”部分。

如果您尚未阅读Jesper Kiaer的这篇文章,请访问http://nevermind.dk/nevermind/blog.nsf/subject/calling-the-domino-c-api-from-an-xpage-or-a-java-agent阅读该文章,然后尝试他的NSFDbSpaceUsage示例,但可以在XPage中进行。(他在Java代理中执行此操作,而只是在xpage中执行)。这样,您知道JNA将与XPages一起使用。

一旦可行,那么我可以建议在没有任何Notes / Domino参与的情况下,在常规Java项目中尝试JNA +您的自定义dll,只是为了验证它是否可以单独工作吗?您可以设置属性jna.library.path以添加dll的自定义位置。如果还设置该属性jna.debug_load=true,则可以在控制台中看到JNA正在寻找dll的路径,默认情况下是系统路径以及与classpath和platform有关的其他约定。如果找不到它,则会收到UnsatisfiedLinkError,因此请继续处理库路径,直到可以加载dll。然后,至少您会知道dll和JNA没什么问题。(如果您不想进行独立的纯Java应用程序测试,甚至可以在xpage中动态设置这些属性。)

然后,最后一步是遍历dll的位置,以使其加载到您的xpages中。尝试使用jna.library.path,尝试标准位置,继续阅读loadLibrary方法以查找默认位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#中的服务器端Javascript警报

来自分类Dev

在JavaScript中的客户端调用服务器端变量

来自分类Dev

服务器端javascript / java-javascript通信

来自分类Dev

服务器端javascript / java-javascript通讯

来自分类Dev

服务器端JavaScript代码注入攻击

来自分类Dev

服务器端JavaScript代码注入攻击

来自分类Dev

从服务器端调用Javascript函数

来自分类Dev

从服务器端调用Javascript函数

来自分类Dev

在Android中从signalR调用服务器端函数

来自分类Dev

如何检查JavaScript是否在Node JS服务器端代码中启用

来自分类Dev

如何在javascript函数中调用服务器端函数

来自分类Dev

Cloudfront Signed Cookies在Java / javascript中的完整服务器端实现

来自分类Dev

如何从服务器端C#代码触发客户端JavaScript?

来自分类Dev

如何从服务器端C#代码触发客户端JavaScript?

来自分类Dev

div在服务器端使用C#中的div类在服务器端可见false

来自分类Dev

div在服务器端使用C#中的div类在服务器端可见false

来自分类Dev

从javascript或代码隐藏C#函数ASP.NET调用服务器端C#函数

来自分类Dev

asp:ListBox OnSelectedIndexChanged调用javascript函数而不是服务器端代码

来自分类Dev

Java代码在服务器端压缩图像

来自分类Dev

如何在Blazor服务器端的不同组件中调用javascript互操作方法

来自分类Dev

如何从流星中的客户端调用服务器端功能

来自分类Dev

如何从流星中的客户端调用服务器端功能

来自分类Dev

在node.js中从服务器端调用客户端函数

来自分类Dev

在 NodeJs 中从客户端调用服务器端函数

来自分类Dev

JSF视图中的Javascript计算器调用服务器端

来自分类Dev

WCF RIA服务中的服务器端代码不会出错

来自分类Dev

使用不带服务器端代码的javascript将html文本渲染为位图

来自分类Dev

不使用AJAX或PageMethods的服务器端函数的Javascript调用

来自分类Dev

Node.js Javascript-从外部脚本服务器端调用函数

Related 相关文章

  1. 1

    C#中的服务器端Javascript警报

  2. 2

    在JavaScript中的客户端调用服务器端变量

  3. 3

    服务器端javascript / java-javascript通信

  4. 4

    服务器端javascript / java-javascript通讯

  5. 5

    服务器端JavaScript代码注入攻击

  6. 6

    服务器端JavaScript代码注入攻击

  7. 7

    从服务器端调用Javascript函数

  8. 8

    从服务器端调用Javascript函数

  9. 9

    在Android中从signalR调用服务器端函数

  10. 10

    如何检查JavaScript是否在Node JS服务器端代码中启用

  11. 11

    如何在javascript函数中调用服务器端函数

  12. 12

    Cloudfront Signed Cookies在Java / javascript中的完整服务器端实现

  13. 13

    如何从服务器端C#代码触发客户端JavaScript?

  14. 14

    如何从服务器端C#代码触发客户端JavaScript?

  15. 15

    div在服务器端使用C#中的div类在服务器端可见false

  16. 16

    div在服务器端使用C#中的div类在服务器端可见false

  17. 17

    从javascript或代码隐藏C#函数ASP.NET调用服务器端C#函数

  18. 18

    asp:ListBox OnSelectedIndexChanged调用javascript函数而不是服务器端代码

  19. 19

    Java代码在服务器端压缩图像

  20. 20

    如何在Blazor服务器端的不同组件中调用javascript互操作方法

  21. 21

    如何从流星中的客户端调用服务器端功能

  22. 22

    如何从流星中的客户端调用服务器端功能

  23. 23

    在node.js中从服务器端调用客户端函数

  24. 24

    在 NodeJs 中从客户端调用服务器端函数

  25. 25

    JSF视图中的Javascript计算器调用服务器端

  26. 26

    WCF RIA服务中的服务器端代码不会出错

  27. 27

    使用不带服务器端代码的javascript将html文本渲染为位图

  28. 28

    不使用AJAX或PageMethods的服务器端函数的Javascript调用

  29. 29

    Node.js Javascript-从外部脚本服务器端调用函数

热门标签

归档