免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5051 | 回复: 2
打印 上一主题 下一主题

[Tuxedo] 求助,JNI调用TUXEDO报错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-05 17:45 |只看该作者 |倒序浏览
求助,JNI调用TUXEDO报错
麻烦大家帮忙看看
103225.cbly03!?proc.438306.1.0: 07-24-2009: Tuxedo Version 8.1, 32-bit
103225.cbly03!?proc.438306.1.0: GP_CAT:1561: ERROR: Problem with license file /tuxedo/tuxedo8.1/udataobj/lic.txt
103225.cbly03!?proc.438306.1.0: LIBTUX_CAT:6031: ERROR: Unable to pre-process buffer before tranmission.  Error code(4/3606)
103225.cbly03!?proc.438306.1.0: LIBWSC_CAT:1045: ERROR: Presend on message failed
103225.cbly03!?proc.438306.1.0: LIBWSC_CAT:1011: ERROR: tpcall() message send failure

我是在AIX5.2 上装的TUXDO8.1,是用C 的maikefile调用.so文件没有问题,用JNI调用就报这个错


xlc -c testconnect.c -I$TUXDIR/include -I/usr/java14/include
xlc -G -o libct.so testconnect.o -L${TUXDIR}/lib -I$TUXDIR/include -lwsc -lbuft -lwsc  -lgpnet  -lfml -lfml32 -lengine  -lpthread

下面是我C文件调用的部分



JNIEXPORT jint JNICALL Java_testconnect_send_1recv(JNIEnv * env, jobject obj)
{
    char * sendbuf;
    char * rcvbuf;
    int sendlen;
    long rcvlen;
    int ret;
    jfieldID commStringfid;

    TPINIT * tpinfo = NULL;
    char * sendjstr;
    int tmpi;

    tuxputenv("WSNADDR=//192.168.221.105:4444");
printf("wsnaddr=[%s]\n", tuxgetenv("WSNADDR"));

    tpinfo = (TPINIT *)tpalloc("TPINIT", NULL, TPINITNEED(32));
    if(tpinfo != NULL)
    {
                tpinfo->datalen = 0;
                sprintf(tpinfo->usrname, "");
                sprintf((char*) &(tpinfo->data), "");
                sprintf(tpinfo->cltname, "");
                sprintf(tpinfo->passwd, "");
                tpinfo->flags = TPU_IGN | TPSA_FASTPATH;
    }
    else {
                (void)fprintf(stderr, "\nERROR: tpalloc failed (%s)\n", tpstrerror(tperrno));
                tpterm();
                return -101;
    }

    tmpi = tpinit(tpinfo);
    printf("tpinit(tpinfo)=[%d]\n", tmpi);
    if (tmpi == -1)
    {
      (void)fprintf(stderr, "\nERROR: tpalloc failed (%s)\n", tpstrerror(tperrno));
      tpfree((char *)tpinfo);
      tpterm();
      return -101;
    }
   
    sendjstr = "339         0000@INQ      A0005                       TYUIO     userid=A0005|brchno=9901|tmnlno=A005|prcscd=@INQ|RGCD=9901|TSRG=9901|SVID=A005|USID=A0005|PRID=@INQ|";
   
    sendlen = strlen(sendjstr);
   
    if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen + 1)) == NULL) {
      (void) fprintf(stderr, "\nError allocating send buffer\n");
      tpterm();
      return -102;
    }
   
    (void) strcpy(sendbuf, sendjstr);
   
    if((rcvbuf = (char *) tpalloc("STRING", NULL, rcvlen)) == NULL) {
                (void) fprintf(stderr, "\nError allocating receive buffer\n");
                tpfree(sendbuf);
                tpterm();
                return -103;
    }

printf("sendbuf=[%s],sendlen=[%d]\n", sendbuf, sendlen);

  ret = tpcall("MIDDB", (char *)sendbuf, 0, (char **)&rcvbuf, &rcvlen, (long)0);
    if(ret == -1) {
                if (tperrno==TPETIME)
                        ret=-105;
                else
                        ret=-104;
                (void) fprintf(stderr, "\nCan't send request to service MIDDB\n");
                (void) fprintf(stderr, "\nTperrno = %d\n", tperrno);
                tpfree(sendbuf);
                tpfree(rcvbuf);
                tpterm();
printf("ret=[%d]\n", ret);  
                return ret;
    }  

   
    if (commStringfid != 0)
    {
                (*env)->SetObjectField(env, obj, commStringfid, JNU_NewStringNative(env, rcvbuf));
    }

printf("rcvbuf =[%s],rcvlen =[%d]\n", rcvbuf, rcvlen);

    tpfree(sendbuf);
    tpfree(rcvbuf);
    tpfree((char *)tpinfo);
  
    return ret;
}

论坛徽章:
0
2 [报告]
发表于 2009-08-06 11:00 |只看该作者
103225.cbly03!?proc.438306.1.0: GP_CAT:1561: ERROR: Problem with license file /tuxedo/tuxedo8.1/udataobj/lic.txt

license有问题吧?

论坛徽章:
0
3 [报告]
发表于 2009-08-21 10:34 |只看该作者
这样的JNI,也不支持并发吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP