|
现在需要对一个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的数据:包含了多个记录。是因为这个吗?大家有过这方面的经验吗? |
|