下面这张图就是部属一个完整的tuxedo应用的流程(使用ATMI接口访问)
从图上可以看出,总共需要3步。我在这里再细分一下。
流程为
1.配置环境变量
2.编辑ubbconfig文件
3.将ubbconfig文本文件编译为tuxconfig二进制文件
4.编译服务器端程序
5.编译客户端程序
6.启动服务器
7.调用服务
初看起来,好像也不复杂。很清晰的几步 我在这里主要想阐述的是我遇到的各种错误和解决办法
(这里有个bea的官方技术文章 介绍整个过程的 写的相当详细http://dev2dev.bea.com.cn/techdoc/200305562.html)
1.配置环境变量
需要配置的环境变量为
TUXDIR=<tuxedo安装的全路径>
WSNADDR=<服务器的地址,只有客户端和服务器分开的时候才需要配置>
PATH=%TUXDIR%\bin;%PATH% (这个很重要,因为只有配了这个调用起来才方便)
TUXCONFIG -- 制定tuxconfig这个二进制配置文件的路径
在调用tmloadcf命令时会查找TUXCONFIG 这个环境变量,如果没有查找到,报错信息如下
D:\bea\tuxedo8.1\samples\atmi\sa>tmloadcf ubbsimple
CMDTUX_CAT:873: ERROR: TUXCONFIG environment variable not set
如果环境变量设置和ubbconfig文件中设置的不一致,报错信息如下
D:\bea\tuxedo8.1\samples\atmi\sa>tmloadcf ubbsimple
CMDTUX_CAT:111: ERROR: TUXCONFIG (D:\bea\tuxedo8.1\tuxconfig) of machine HEIHEBEN must be the same as the TUXCONFIG environment variable (d:\bea\tuxconfig)
CMDTUX_CAT:867: ERROR: tmloadcf: Above errors found during syntax checking
注:环境变量中的TUXCONFIG环境变量必须设置,并且要正确设置。
2.编辑ubbconfig文件
在编写这个文件时 我就是一步一步按照小布老师的说法配置的,但是配置完成 调用tmloadcf命令时出错了
D:\bea\tuxedo8.1\samples\atmi\sa>tmloadcf ubbsimple
CMDTUX_CAT:868: ERROR: tmloadcf cannot run on a non-master node
经查得知 原来windows机器上的机器名必须大写
注:如果机器名含有. 则机器名需要使用双引号引起来
补充:可能有些人不知道windows的机器名怎样查看,下面给出贴图示例
3.将ubbconfig文本文件编译为tuxconfig二进制文件
这个过程没有出现错误了,给出提示如下
D:\bea\tuxedo8.1\samples\atmi\sa>tmloadcf ubbsimple
Initialize TUXCONFIG file: D:\bea\tuxedo8.1\tuxconfig [y, q] ? Y
4.编译服务器端程序
编译simpserver服务器端程序的命令为
D:\bea\tuxedo8.1\samples\atmi\sa>buildserver -o simpserv -f simpserv.c -s TOUPPER
该命令的参数我就不解释了
出现错误信息如下:
cl /MD -I"%TUXDIR%"\include -Fesimpserv BS-dbc.c simpserv.c "%TUXDIR%"\lib\libtux.lib "%TUXDIR%"\lib\libbuft.lib "%TUXDIR%"\lib\libfml.lib "%TUXDIR%"\lib\libfml32.lib "%TUXDIR%"\lib\libengine.lib wsock32.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib -link -implib:BS-dbc.lib
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
BS-dbc.c
BS-dbc.c(1) : fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory
simpserv.c
simpserv.c(14) : fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory
Generating Code...
CMDTUX_CAT:4180: ERROR: can't execute cl /MD -I"%TUXDIR%"\include -Fesimpserv BS-dbc.c simpserv.c "%TUXDIR%"\lib\libtux.lib "%TUXDIR
%"\lib\libbuft.lib "%TUXDIR%"\lib\libfml.lib "%TUXDIR%"\lib\libfml32.lib "%TUXDIR%"\lib\libengine.lib wsock32.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib -link -implib:BS-dbc.lib
从上面这段信息和网上查找资料得出,原来这个需要VC6.0的编译器来进行编译
我可不想安装庞大的VC6.0,从网上down一个绿色版。按照步骤安装成功后,在PATH中注册,继续编译
还说什么呢,什么也不说了。从网上下载呗,通过baidu也只要了,将该dll放到与cl.exe 同一目录。
好了,再次编译
D:\bea\tuxedo8.1\samples\atmi\sa>buildserver -o simpserv -f simpserv.c -s TOUPPER
cl /MD -I"%TUXDIR%"\include -Fesimpserv BS-92c.c simpserv.c "%TUXDIR%"\lib\libtux.lib "%TUXDIR%"\lib\libbuft.lib "%TUXDIR%"\lib\bfml.lib "%TUXDIR%"\lib\libfml32.lib "%TUXDIR%"\lib\libengine.lib wsock32.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg3lib winspool.lib -link -implib:BS-92c.lib
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
BS-92c.c
BS-92c.c(1) : fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory
simpserv.c
simpserv.c(14) : fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory
Generating Code...
CMDTUX_CAT:4180: ERROR: can't execute cl /MD -I"%TUXDIR%"\include -Fesimpserv BS-92c.c simpserv.c "%TUXDIR%"\lib\libtux.lib "%TUXDIR%"\lib\libbuft.lib "%TUXDIR%"\lib\libfml.lib "%TUXDIR%"\lib\libfml32.lib "%TUXDIR%"\lib\libengine.lib wsock32.lib kernel32.lib adv
i32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib -link -implib:BS-92c.lib
乖乖,这次错误依旧啊。google一下(百度和谷歌都试试,可能就有精确的答案)
这个是由于VC6.0的INCLUDE目录没在环境变量里设置,我们这里直接调用
%VC安装目录%\Bin\VCVARS32.BAT 设置
D:\bea\tuxedo8.1\samples\atmi\sa>D:\vc6lite_rc1\VC98\Bin\vcvars32.bat
Setting environment for using Microsoft Visual C++ tools.
再次编译,出现下面的信息,这就表明没有任何问题了
/out:simpserv.exe
-implib:BS-924.lib
BS-924.obj
simpserv.obj
D:\bea\tuxedo8.1\lib\libtux.lib
D:\bea\tuxedo8.1\lib\libbuft.lib
D:\bea\tuxedo8.1\lib\libfml.lib
D:\bea\tuxedo8.1\lib\libfml32.lib
D:\bea\tuxedo8.1\lib\libengine.lib
wsock32.lib
kernel32.lib
advapi32.lib
user32.lib
gdi32.lib
comdlg32.lib
winspool.lib
5.编译客户端程序
有了编译服务器端的经验,编译客户端没有出现问题
编译的命令为:
buildclient -o client -f simpcl.c
6.启动服务器
使用命令 tmboot
7.调用服务
刚刚编译出来的客户端程序为 client 我们只需要像这样 client hello 就可以调用了 返回应该是HELLO
分享到:
相关推荐
Windows平台下tuxedo应用simpapp举例.pdf
Tuxedo示例simpapp,已配置Weblogic与Tuxedo互调模式,详细参见http://blog.csdn.net/f4761
Tuxedo8.1 windows安装包
linux环境下TUXEDO安装和simpapp调用实例图解
windows 64位版 Oracle Tuxedo 12cR2 (12.2.2) (Including Tuxedo, SALT and Jolt)
Java通过WTC调Tuxedo服务实例,传入类型:String型
通过本人的尝试,经过了部署成功后总结出来的tuxedo中间件在windows平台上的部署文档,提供给大伙作为参考。
使用的例子为weblogic的simpapp和simpserv,以及tuxedo的simpapp。对unix用户可将本文中"\" 换成 "/",并将 ".cmd" 换成 ".sh"。 本例提供以下服务: TOUPPER:一个tuxedo方服务,用于将字符串转换为大写。Weblogic...
适用人群:电信、金融行业的朋友 目标 通过本课程学习,你可以掌握如下知识: • 列出tuxedo软件包的各个组件 • 安装tuxedo的所有组件需要的磁盘空间 • 描述tuxedo软件安装过程 • tuxedo安装后,目录结构介绍
tuxedo配置过程
BEA Tuxedo应用程序开发指南.doc BEA TUXEDO快速入门.doc BEA Tuxedo的七种通信方式⑴.doc BEA Tuxedo的七种通信方式⑵.doc Tuxedo 技术文档.pdf tuxedo培训教程.doc Tuxedo常用函数说明ATMI.doc Tuxedo应用开发指南...
tuxedo快速入门 tuxedo快速入门 tuxedo快速入门 tuxedo快速入门
Tuxedo是一个事务处理(TP)监督器(transaction processing monitor),它管理联机事务处理(OLTP)系统操作的事务。客户通过结构化查询语言(SQL)调用,或其他类型的请求,产生对server的请求。这个事务处理监督器确信...
tuxedo2010在window下安装步骤
tuxedo课件 tuxedo培训资料
tuxedo安装文档,tuxedo在linux上的安装,把安装遇到的问题也写了进去。 安装完成后编译simpapp可以测试安装
TUXEDO管理.doc BEA Tuxedo管理手册 BEA Tuxedo管理手册
32位的tuxedo,可以用于windows7操作系统
TUXEDO应用系统对IPC资源的要求 一个TUXEDO应用系统在运行时会大量用到IPC资源,包括信号灯,消息队列及共享内存,下面对他们的使用情况及与他们有关的操作系统核心参数分别进行介绍: UBBCONFIG中与IPC资源有关的配置...
TUXEDO:基于IPC机制浅析TUXEDO及其应用.doc