rerth 发表于 2010-1-19 17:26:15

手动编写测试Tuxedo服务的脚本

现在需要对一个tuxedo服务手工编写测试代码,试验了一下对tuxedo自带的simpapp程序编写脚本,代码如下。#include "lrt.h"

Action()
{
        char* data_input;
    char* data_output;
    long buflen_input;
    long buflen_output;
    char string[] = "welcome to bea tuxedo";

    lrt_tuxputenv("WSNADDR=//127.0.0.1:3050");//对应WSL的端口

    data_input = lrt_tpalloc("STRING", "", sizeof(string));
    lrt_strcpy(data_input, string);
    data_output = lrt_tpalloc("STRING", "", 1024);
    buflen_input = lrt_tptypes(data_output, type, NULL);
    tpresult_int = lrt_tpcall("TOUPPER", data_input, sizeof(string), &data_output, &buflen_output, 0);
    lr_output_message("Call:%d", tpresult_int);
    lr_output_message("Result:%d\t%s", buflen_output,data_output);

        lrt_tpfree(data_input);
        lrt_tpfree(data_output);
        lrt_tpterm();
        return 0;
}上面这个是可以正确的返回输入字符串的大写形式的。可是对于待测系统用类似的写法好像就没有效果了,总是报这种错误:
Action.c(17): ERROR:lrt_tpcall:TPESVCFAIL - application level service failure
待测系统的输入是一个字符串,返回的是FML32的数据:包含了多个记录。是因为这个吗?大家有过这方面的经验吗?:)
页: [1]
查看完整版本: 手动编写测试Tuxedo服务的脚本