关于tuxedo字段表怎么解析
各位精英好,第一次接触tuxedo,现在有个问题,我方去调用客户的tuxedo服务器,但是对方返回的报文怎么去解析,网上发现可以用FML32数据承载类解析。我想知道的是,是不是对方需要向我们提供相关的字段表,到时候,我方解析的时候,可以根据字段表中的值去获取数据。以下是网上的资料:
FML 字段表管理
字段表的生成方式类似于 Tuxedo 字段表。字段表是提供字段名定义、字段类型以及共用于两个系统中的标识号的文本文件。要使用 FML 与 Tuxedo 系统进行互操作,需要执行下列步骤:
1.将字段表从 Tuxedo 系统复制到 WebLogic Tuxedo Connector 环境。
例如:您的 Tuxedo 分发包含一个名为 bankapp 的银行应用程序示例。它包含一个名为 bankflds 的文件,该文件具有以下结构:
#Copyright (c) 1990 Unix System Laboratories, Inc.
#All rights reserved
#ident "@(#) apps/bankapp/bankflds $Revision: 1.3 $"
# Fields for database bankdb
# name number type flags comments
ACCOUNT_ID 110 long - -
ACCT_TYPE 112 char - -
ADDRESS 109 string - -
.
.
.
2.将字段表定义转换为 Java 源文件。使用 weblogic.wtc.jatmi包中提供的 mkfldclass 实用工具。此类是读取 FML32 字段表的实用工具函数,可以生成实现 FldTbl 接口的 Java 文件。此实用工具有两个实例:
•mkfldclass
•mkfldclass32
使用正确的命令实例将 bankflds 字段表转换为 FML32 Java 源代码。以下示例使用 mkfldclass。
java weblogic.wtc.jatmi.mkfldclass bankflds
生成的文件的名称为 bankflds.java,该文件具有以下结构:
import java.io.*;
import java.lang.*;
import java.util.*;
import weblogic.wtc.jatmi.*;
public final class bankflds
implements weblogic.wtc.jatmi.FldTbl
{
/** number: 110 type: long */
public final static int ACCOUNT_ID = 33554542;
/** number: 112 type: char */
public final static int ACCT_TYPE = 67108976;
/** number: 109 type: string */
public final static int ADDRESS = 167772269;
/** number: 117 type: float */
.
.
.
3.使用以下命令编译生成的 bankflds.java 文件:
javac bankflds.java
结果将生成 bankflds.class 文件。进行加载后,WebLogic Tuxedo Connector 便可以使用该类文件在 FML32 字段中添加、检索和删除字段条目。
4.将字段表类文件添加到应用程序 CLASSPATH。
5.更新 WTCServer MBean。
•更新 WTCResources MBean 以反映字段表类文件的完全限定位置。
•使用所需的关键字描述 FML 缓冲区类型:fml16 或 fml32。
•可以在以逗号分隔的列表中输入多个字段表类。
例如:
<wtc-resources>
<name>BankappResources</name>
<fld-tbl16-class>my.bankflds</fld-tbl16-class>
<fld-tbl16-class>your.bankflds</fld-tbl16-class>
<fld-tbl16-class>more.bankflds</fld-tbl16-class>
</wtc-resources>
6.重新启动 WebLogic Server 以加载字段表类定义。
补充:Java , Java EE