故障类型:我的操作系统 WINDOWS2003 使用官方ORACLE 下载的 tuxedo10gR3_32_win_2k3_x86_VS2005.exe
本地配置文件生成完成,服务程序 和 客户端程序也成功编译,并能正确运行服务,输入小写字母也能返回结果。
现在我想配置其它电脑,通过远程客户端来访问,但是服务运行不起来。
另外,我使用C# 2008 开发访问本地刚刚上面的服务,总是不通,不知道那里错误,请高手查看。(代码在下面)
错误信息:在 Bea.Tuxedo.ATMI.TPESYSTEMException 中第一次偶然出现的“libwscdnet.dll”类型的异常
下面是我的配置文件。
#Replace the <bracketed> items with the appropriate values.
*RESOURCES
IPCKEY 32800
#Example:
#IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 200
MAXSERVERS 50
MAXSERVICES 200
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="D:\TuxeDo\samples\atmi\simpapp"
TUXCONFIG="D:\TuxeDo\samples\atmi\simpapp\tuxconfig"
TUXDIR="D:\TuxeDo"
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
IEDSJIFWKL LMID=simple
#指定的最大客户端连接数
MAXWSCLIENTS=50
#Example:
#beatux LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
#WSL发
"WSL" SRVGRP="GROUP1" SRVID=123 CLOPT="-A -t -- -n//192.168.1.30:3050 -m 2 -M 5 -x 10"
*SERVICES
"TOUPPER"
"TOLOWER"
下面是启动服务,成功,但是远程WSL服务没启动,不知道错那里。
D:\TuxeDo\samples\atmi\simpapp>tmboot
Boot all admin and server processes? (y/n): y
Booting all admin and server processes in D:\TuxeDo\samples\atmi\simpapp\tuxconf
ig
INFO: Oracle Tuxedo, Version 10.3.0.0 with VS2005, 32-bit, Patch Level (none)
Booting admin processes ...
exec BBL -A :
process id=1784 ... Started.
Booting server processes ...
exec simpserv -A :
process id=2252 ... Started.
exec WSL -A -t -- -n//192.168.1.30:3050 -m 2 -M 5 -x 10 :
Failed.
2 processes started.
下面是执行后的结果。说明本地服务已经可以正常起用。
D:\TuxeDo\samples\atmi\simpapp>
D:\TuxeDo\samples\atmi\simpapp>simpcl
Usage: gdfgdgd
D:\TuxeDo\samples\atmi\simpapp>simpcl abcdefg
Returned string is: ABCDEFG
下面是日志文件,不知道错在那里
093418.IEDSJIFWKL!BBL.1784.2188.0: 11-04-2009: client high water (0), total client (0)
093418.IEDSJIFWKL!BBL.1784.2188.0: 11-04-2009: Tuxedo Version 10.3.0.0 with VS2005, 32-bit, Patch Level (none)
093418.IEDSJIFWKL!BBL.1784.2188.0: LIBTUX_CAT:262: INFO: Standard main starting
093419.IEDSJIFWKL!simpserv.2252.3972.0: 11-04-2009: Tuxedo Version 10.3.0.0 with VS2005, 32-bit
093419.IEDSJIFWKL!simpserv.2252.3972.0: LIBTUX_CAT:262: INFO: Standard main starting
093419.IEDSJIFWKL!simpserv.2252.3972.0: Welcome to the simple server
093419.IEDSJIFWKL!WSL.2312.2260.0: 11-04-2009: Tuxedo Version 10.3.0.0 with VS2005, 32-bit
093419.IEDSJIFWKL!WSL.2312.2260.0: LIBTUX_CAT:262: INFO: Standard main starting
093419.IEDSJIFWKL!WSL.2312.2260.0: WSNAT_CAT:1008: ERROR: Could not establish listening address on network
//192.168.1.30:3050
093419.IEDSJIFWKL!WSL.2312.2260.0: LIBTUX_CAT:250: ERROR: tpsvrinit() failed
093419.IEDSJIFWKL!tmboot.292.272.-2: 11-04-2009: Tuxedo Version 10.3.0.0 with VS2005, 32-bit
093419.IEDSJIFWKL!tmboot.292.272.-2: CMDTUX_CAT:825: ERROR: Process WSL at simple failed with /T tperrno (TPESYSTEM -
internal system error)
最后我看到提示什么 WSNAT_CAT:1008: ERROR: Could not establish listening address on network //192.168.1.30:3050
192.168.1.30是我计算机的固定IP。端口3050是安装TUXEDO 10GR3时候设置的。
请高手帮忙看看,那里出错了。
另外,我使用C# 2008 开发访问本地刚刚上面的服务,总是不通,不知道那里错误,请高手查看。
错误信息:在 Bea.Tuxedo.ATMI.TPESYSTEMException 中第一次偶然出现的“libwscdnet.dll”类型的异常
TuxedoLib.Tuxedo.ExecuteTuxedo(new[]
{
"PATH=d:\\tuxedo\\bin", //必须设置安装目录
"WSNADDR=//192.168.1.30:3050" //连接地址及端口
}, "TOUPPER", //使用的服务名
"abcdefg",
out result);
using System;
using Bea.Tuxedo.ATMI;
namespace TuxedoLib
{
public class Tuxedo
{
public static bool ExecuteTuxedo(string[] EnvList, string Server, string Param, out string Output)
{
bool ret = false;
Output = "";
try
{
foreach (string env in EnvList)
Utils.tuxputenv(env); //初始化环境参数
int i = AppContext.tpchkauth(); //检查安全认证方式===============每次运行到这里,就出现上面的异常信息。
TypedTPINIT init = null;
//int i=1;
switch (i)
{
case -1:
Output = "安全认证错误";
return false;
case AppContext.TPNOAUTH:
break;
case AppContext.TPSYSAUTH: //目前方式
init = new TypedTPINIT();
init.passwd = "lp";
break;
case AppContext.TPAPPAUTH:
Output = "安全认证方式错误";
return false;
default:
return false;
}
AppContext ac = AppContext.tpinit(init);
TypedBuffer its = new TypedString(Param); //发送报文
TypedBuffer rts = new TypedString(""); //接收报文
ac.tpcall(Server, its, ref rts, 0);
Output = ((TypedString)rts).GetString();
ret = true;
try
{
ac.tpterm();
}
catch (Exception exx)
{
}
}
catch (Exception ex)
{
Output = ex.Message;
}
return ret;
}
}
}
--转自