Linux下C语言调用Tuxedo服务的问题,望高手帮忙

时间:2023-01-23 12:28:33
部署:
A机器(192.168.35.2),安装了Tuxedo服务端,启动了一些Tuxedo服务
B机器(192.168.35.3),安装了Tuxedo客户端

现在B机器上边写C语言代码,连接到A机器上调用服务

问题:
执行tpinit的时候,返回错误号12, "TPESYSTEM - internal system error"
和服务端没有启动一样,而实际上,telnet服务端的端口是通的
而且Windows上(C机器:192.168.35.4)的客户端程序是能够正常调用A机器上的服务的。
有人遇到过么?应该怎么办?

下面是初始化连接的代码:

int TuxedoInit(char * ReturnMessage)
{
    int iInitRet = -1;
    int iInitTime = 0;
    char *stemp = NULL;
    TPINIT *tpinfo;

    tpterm();    //长连接切换成短连接时,释放长连接资源
    tuxputenv("WSNADDR=//192.168.35.2:5123");


      if ((tpinfo = (TPINIT *)tpalloc("TPINIT", NULL, 256)) == NULL)
      {
        snprintf(ReturnMessage,ReturnMessageMaxLen,"tpalloc分配TPINIT buffer失败");
        return -1;
      }

      if (strlen(ComptureIP) == 0)
      {
         sprintf(ComptureIP,"%s", GetIPAddress());
         snprintf(UserName,30,"%s:%d",GServerName,GLogPid);
      }

      strcpy(tpinfo->usrname, UserName);
      strcpy(tpinfo->cltname, ComptureIP);
      strcpy(tpinfo->passwd, GTuxedoPass);

      tpinfo->flags = TPMULTICONTEXTS;
      
      do
      {
        if(iInitTime>0) sleep(50);        
        iInitRet = tpinit(tpinfo);  
        iInitTime++; 
        if(iInitRet<0)
        {   
        }
      }while((iInitRet<0)&&(iInitTime<3));

      if(iInitRet<0)
      {
        tpfree((char *)tpinfo);
        return -1;
      }
      else
      {
        tpfree((char *)tpinfo);
        return 0;
      }
    tpfree((char *)tpinfo);
    return -1;
}

7 个解决方案

#1


该回复于2013-01-25 09:05:13被管理员删除

#2


早上起来顶一下,有人这么玩过么?

#3


问题解决了,用错了库了,应该用-lwsc库

#4


Linux下C语言调用Tuxedo服务的问题,望高手帮忙那我接个分吧..

#5


引用 4 楼 lile1234_show 的回复:
那我接个分吧..


呃,不好意思。。。我结贴太快了。。。

#6


tpinit失败
一般不是服务没起,不然就是WSNADDR设置的不对。
我一般用tuxreadenv,没遇到过问题。

#7


汗               啊

#1


该回复于2013-01-25 09:05:13被管理员删除

#2


早上起来顶一下,有人这么玩过么?

#3


问题解决了,用错了库了,应该用-lwsc库

#4


Linux下C语言调用Tuxedo服务的问题,望高手帮忙那我接个分吧..

#5


引用 4 楼 lile1234_show 的回复:
那我接个分吧..


呃,不好意思。。。我结贴太快了。。。

#6


tpinit失败
一般不是服务没起,不然就是WSNADDR设置的不对。
我一般用tuxreadenv,没遇到过问题。

#7


汗               啊