aix下java通过jni调用tuxedo报错
在aix下用c调用动态库封装tuxedo调用可以成功,可是改为java通过jni调用却报错:
LIBTUX_CAT:6031: ERROR: Unable to pre-process buffer before tranmission. Error code(4/3606)
LIBWSC_CAT:1045: ERROR: Presend on message failed
LIBWSC_CAT:1011: ERROR: tpcall() message send failure
编译so文件是根据buildclient参数复制的:
xlc -c test.c -I$TUXDIR/include -I/usr/java14/include
xlc -G -I$TUXDIR/include -o libtest.so test.o -L${TUXDIR}/lib $TUXDIR/lib/wstpinit.o -lwsc -lbuft -lwsc -lgpnet -lfml -lfml32 -lengine -lpthread
实在没招了,希望了解的高手帮下忙,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
修改配置INI文件
还真没有这样用过。既然你说Windows和Linux都没有问题,那会不会与你的AIX的编码系统有关系,或者和操作系统32或64位有关。设置一下WSTYPE=AIX,根据JDK的版本(32或者64),重新生成下链接库,看看如何。
[ 本帖最后由 taurus 于 2009-8-29 14:19 编辑 ]
WTC,Jolt,JNI
效率都一般,不知道有没有更好的效率的调用方式.
因为要用jolt的话要改tuxedo的配置,所以改用了jni,并且在windows和linux下都已经可以了,只有aix下报了上面的错误,请大家看看
[ 本帖最后由 aot512 于 2009-8-5 14:52 编辑 ]
JAVA调用Tuxedo,用的最多的是JOLT。
如果是weblogic调用Tuxedo,可以用WTC