加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

tuxedo wsl tpinit错误

(2010-06-21 16:08:22)
标签:

杂谈

分类: 其他


WebLogic中文爱好者
【整理】tpinit错误
Q:总是tpinit出错,有什么需要特别注意的吗

A: zongyn,你说的没有问题,封装是可以的。你说的tpinit出错,应该跟配置有关系。你把ulog信息发上来,看后就知道错误在哪里?
 
一般tpinit错误,在于网络不通,另外就是你的client程序是否是WS方式编译的,如果是必须使用buildclient参数-w参数,另外设置WSNADDR环境变量。

你还是把ulog信息发上来看看。一般是不能连接WSH等信息。

Return Values Upon failure, tpinit() leaves the calling process in its original
context, returns -1,
and sets tperrno to indicate the error condition. Also, tpurcode() is set to the
value
returned by the AUTHSVR(5) server.
Errors Upon failure, tpinit() sets tperrno to one of the following values:
[TPEINVAL]
Invalid arguments were specified. tpinfo is non-NULL and does not point
to a typed buffer of type TPINIT.
[TPENOENT]
The client cannot join the application because of space limitations.
[TPEPERM]
The client cannot join the application because it does not have permission to
do so or because it has not supplied the correct application password.
Permission may be denied based on an invalid application password, failure
to pass application-specific authentication, or use of restricted names.
tpurcode() may be set by an application-specific authentication server to
explain why the client cannot join the application.
[TPEPROTO]
tpinit() has been called improperly. For example: (a) the caller is a server;
(b) the TPMULTICONTEXTS flag has been specified in single-context mode; or
(c) the TPMULTICONTEXTS flag has not been specified in multicontext mode.
[TPESYSTEM]
A BEA Tuxedo system error has occurred. The exact nature of the error is
written to a log file.
[TPEOS]
An operating system error has occurred.
chaowang 发表于 2009-7-28 14:30
Tpinit failed该如何处理?
log 文件如下
224552.NY!?proc.1468.860.0: 06-10-2002: Tuxedo Version 8.0 32-bit Windows.
224552.NY!?proc.1468.860.0: LIBWSC_CAT:1055: ERROR: Unable to establish WSL
connection
224552.NY!?proc.1468.860.0: LIBWSC_CAT:1027: ERROR: Unable to connect to WSH
224552.NY!?proc.1468.860.0: LIBWSC_CAT:1020: ERROR: Unable to obtain
authentication level

这个错误初学者很常见,而且摸不着头脑!呵呵。以前已经讨论N变了。再post again!

你看这个错误:Unable to establish WSL connection 和
LIBWSC_CAT:1027: ERROR: Unable to connect to WSH

应该是你的WSL不能连接到WSH。一个错误原因是你的WSNADDR配置的ip存在问题,导致不能找到WSH,另外一个就是网络不通,导致client不能连接到WSH的机器上。还有一个就是你的程序编译有问题:例如:你没有使用-w参数编译client,但是却是使用WSNADDR寻找服务,导致出现这样的错误。
************************************


            简介
            BEA
            TUXEDO的/WS部分实际上是工作站扩展件。此前,所有的客户端平台都是运行着TUXEDO系统的UNIX,这就限制了TUXEDO的客户端只

能运行于UNIX平台。在今天是不可思议的。
                  /WS通过以下几点突破了以上限制:
            ²      允许远端不需公告牌即可运行
            ²      不需要TUXEDO系统域资源
            ²      不限制客户端的平台
            ²      服务器上无进程对客户端的一对一的限制
            突破这些限制后,服务器不再考虑客户端的表示,不必管理大量的客户端进程而专注于TUXEDO和应用服务,大大扩展了系统的可

伸缩性。
            本节中,我们开始研究/WS应用。


            
            
            本节要点
                定义
                过程
                改变ubbconfig
                网络阻塞
                buildclient
            

            
            远程/WS客户端(WSC)可以是UNIX或WINDOWS客户端。所有的客户端与TUXEDO通过工作站监听进程(WSL-Workstation
            Listener)和工作站处理进程(WSH-Workstation Handler)进行通讯。
                 
            当客户端进行tpinit()或tpchkauth()调用时,进程读取本地环境变量WSNADDR。该变量应该与监听连接请求的WSL进程的地址相符

。地址值设定在WSL可执行服务的CLOPT的参数中。
                  WSL进程处理请求,将WSC的网络地址通知WSH进程。WSH进程处理WSC与TUXEDO系统的进一步通讯。
                 
WSH将请求发给合适的服务并将结果返回WSC。如果交易在远程机器上,WSH将请求发给BRIDGE,由它将请求前转到合适的节点。
                 
                 

            
            
            ubbconfig的相应变化
            *RESOURCES
             NOTIFY   DIPIN
            *MACHINES
             SITE1
                 
                  MAXWSCLIENTS=150
                 
             SITE2
                 
                  MAXWSCLIENTS=0
            *SERVERS
             WSL SRVGRP=”BANKB1”SRVID=500 RESTART=Y
                  CLOPT=”-A –
                                       -n //lcspn1:3060
                                       -d /dev/xti/tcp
                                       -m 2 –M 7 –x 5 –I 5 –T60”
            通知客户端的方式设为“DIPIN”,使用Windows的消息仿UNIX信号,若消息为WM_TIMER则对应tpchkunsol()。
            MAXWSCLIENTS表示该机最多允许连接的工作站数目。
            工作站监听进程启动参数如下:
            -n   指定交易请求连接TUXEDO应用环境的监听进程的主机名和端口号。格式如下:
                  //lcspn1       主机名
                  :                间隔符
                  3060           端口号
            -d   WSL和WSH用于传递ATMI数据的的设备
            -mtmboot最少启动的WSH进程数
            -M  tmboot最多启动的WSH进程数
            -x   每个WSH支持的工作站数
            -I    工作站连接应用许可的最大耗时
            -T   无响应连接许可时间
            

            
            
            PC上的环境变量设置
            set TUXDIR=C:\TUXEDO
            set WSNADDR=//lcspn1:3060
            set WSDEVICE=/dev/xti/tcp
            set WSENVFILE= C:\ENV4WS
            set WSTYPE=DIFF
            set TMPDIR= C:\tmp
            set WSRPLYMAX=64K
            set APP_PW=HOMERUN
            注意:WSNADDR可以是一些由逗号隔开的使用相同端口的地址,或由竖线隔开自由选择端口。例:
            WSNADDR=//lcspn1:3050,//lcspn2:3050 
            WSNADDR=(//lcspn1:3050|//lcspn2:3050)
            
            TUXDIR                    TUXEDO系统软件位置
            WSNADDR                    WSL网络地址
            WSDEVICE                    网络设备
            WSENVFILE           环境变量文件
            WSTYPE                  机器类型,控制编、解码
            TMPDIR                   存储返回的目录
            WSRPLYMAX         应用返回缓冲内存大小
            APP_PW                 应用密码
            编译:
            buildclient –w –v –o atmclt –f atmclt.c
            -w表示是WS客户端,Windows将通过一个DLL去访问ATMI。
            域        Domains

            
            简介
            
            /Domain作为TUXEDO的一组件,使独立的TUXEDO应用可以进行通讯和共享资源。每个应用环境视作一个’domain’。这种结构有以

下优点:
                仍然可以访问远程其他域的数据
                应用管理工作可以分散进行
                资源可以根据计算的需要合适地分配
            一个域可以跨越多台(个)机器或处理器。所有的客户端通过BB(Bulletin
            Board)了解所有的机器上提供的交易。BB间的一致性通过DBBL(Distinguished Bulletin Board
            Liaison)来保证。
            通过/Domain,可以维护独立于主域的BB,可以设定那些交易可以响应其他机器。当一个远程域提出一个合法的交易请求

时,/Domain将请求发送到被请求域并把返回送到请求进程。
            以下介绍进行域间通讯时需修改的配置。

            
            
            本节要点
                概念解释
                配置过程
            ——环境变量
            ——ubbconfig
            ——dmconfig
            ——dmloadcf

            
            
            Domains
            
            使用TUXEDO组件/DOMAINS时,需要对管理配置作一些改变。在以下例子中,会创建一个独立的测试应用环境(DOMAINID是TEST),

它可以读取/请求另一个应用的交易(ProdCust)的数据。
            服务GWTDOMAIN(GWT)负责响应域间通讯。GWADM和DMADM是处理管理交易和域服务的管理服务。这些服务必须配置在UBBCONFIG文件

中。配置信息必须在远程和本地应用环境中定义。
            服务GWTDOMAIN通过TCP/IP协议与其他域进行通讯。物理上远程的域的应用位置是透明的。
            服务GWTDOMAIN是双向的:可以处理远程域发来的请求也可以向远程域发出请求。
            除UBBCONFIG外,配置/DOMAINS还需要一些信息。这些信息在DMCONFIG文件中。DMCONFIG的文本文件通过BDMCONFIG编译成二进制

文件。

            
            
            过程
            第一步:UBBCONFIG应作相应改动
                  为/DOMAIN建立的新组应该和其他应用组隔离开。其一用于管理,其他是网关服务。
            UBBCONFIG
            *RESOURCES
             IPCKEY                  49152
             MAXACCESSERS     2
             MAXSERVERS           25
             MASTER                SITE1
             MODEL                  SHM
            *MACHINES
             class2                     LMID=SITE1
                                              TUXDIR=”/usr/tuxedo”
                                             APPDIR=”/usr/apps/atmapp”
                                             
            TUXCONFIG=”/usr/apps/atmapp/atmapp.tux”
            *GROUPS
             LDMGRP               LMID=SITE1     GRPNO=20
             LGWGRP               LMID=SITE1     GRPNO=30
            #下一行用于‘prod’域
             APP1                      LMID=SITE1   GRPNO=10
            *SERVERS
             DMADM                 SRVGRP=LDMGRP     SRVID=200
             GWADM                SRVGRP=LGWGRP     SRVID=310
             GWTDOMAIN        SRVGRP=LGWGRP     SRVID=320
            #下一行用于‘prod’域
             CUSTOMER          CLOPT=”-A”     SRVGRP=APP1     SRVID=100
            *SERVICES
            #下一行用于‘prod’域
            ProdCust
            
            第二步:为域间请求创建DMCONFIG
                 
            下文的ASCII数据存在的文件一般称为DMCONFIG,由此生成的二进制格式文件称为BDMCONFIG。以下的DMCONFIG存在于“TEST“域

,用来请求远程的”prod“域的”ProdCust“交易。
            DMCONFIG on TEST DOMAIN
            *DM_LOCAL_DOMAINS
            test              GWGRP=LGWGRP
                                       TYPE=TDOMAIN
                                       DOMAINID=”TEST”
                                       DMTLOGDEV=”/usr/apps/atmapp/logs/DLOG”
            *DM_REMOTE_DOMAINS
            production         TYPE=TDOMAIN
                                       DOMAINID=”prod”
            *DM_TDOMAIN
            prod                   NWADDR=”//lcspn1:3070”
                                       NWDEVICE=”/dev/xti/tcp”
            TEST                 NWADDR=”//lcspn2:3070”
                                       NWDEVICE=”/dev/xti/tcp”
            *DM_REMOTE_SERVICES
             ProdCust
            *DM_LOCAL_SERVICES
            第三步:创建DMCONFIG指定对域外提供的交易
            下文的DMCONFIG位于域’prod’,该域将向其他域提供可调用交易:ProdCust。
            域‘prod’上的DMCONFIG
            #本地域信息
            *DM_LOCAL_DOMAINS
                                       #LMID
            production        GWGRP=LGWGRP
                                       #域描述:TDOMAIN即TUXEDO DOMAINS
                                       TYPE=TDOMAIN   
                  


 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有