In our project,bea server service has been built,and the fielded has been defined. The fml fields all are above 50000. I try to define a fml field file like this:
# Field table file
#*base 50960
*base 0
#name rel-number type flags comment
#---- ---------- ---- ------ -------
USER_NUM 50964 string -
PASSWD 50996 string -
RET_FLAG 61006 string -
FAIL_REASON 61007 string -
and change the arg. of tux_falloc,define this:
# Field table file
*base 50960
#name rel-number type flags comment
#---- ---------- ---- ------ -------
USER_NUM 4 string -
PASSWD 36 string -
#RET_FLAG 46 string -
#FAIL_REASON 47 string -
,when I call the tux_array2fml,the result is same:
Warning: Failed to add field [0] to FML buffer [LIBFML_CAT:5: NLS:6: Message not found, catalog LIBFML_CAT, set 1, num 5 ] in /home/apache/htdocs/testfml32.php on line 25
Warning: Failed to add field [0] to FML buffer [LIBFML_CAT:5: NLS:6: Message not found, catalog LIBFML_CAT, set 1, num 5 ] in /home/apache/htdocs/testfml32.php on line 25
,how can solve it?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Without seeing at least the key portions of you code, its difficult, but I can make some
educated (wild) guess of what might be wrong...
Are you assigning the array values using the FIELDID, or the FIELDName? If the name,
does your script properly load the field def files, by the environment variables (either
preset or tux_tuxputenv) ? The fact its failing on FieldID 0, makes me think you're
using the Field Name, and it may not have properly found the field def files. If you are
using Field Names, try a simple test to use FieldID, if it works that is probably your problem.
Brian
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
> when I call the tux_array2fml,the result is same:
> Warning: Failed to add field [0] to FML buffer [LIBFML_CAT:5: NLS:6: Message not found, catalog LIBFML_CAT, set 1, num 5 ]
> in /home/apache/htdocs/testfml32.php on line 25
"NLS:6: Message not found, ..." means that Tuxedo
cannot understand your locale. If you want to get
a meaningful message, check $TUXDIR/locale directory and set your locale like this:
$ cd $TUXDIR/locale
$ ln -s C [your locale. in my case, 'ko_KR']
I know this is *not* your problem.
The clue of your problem is in the message:
"catalog LIBFML_CAT, set 1, num 5".
Let's take a look Set 1 and message number 5 in
$TUX_DIR/locale/C/LIBFML.text.
It says "ERROR: Unknown field number or type".
That's it!
I recommend to check your Tuxedo environment using
tux_tuxgetenv() functions(assuming FML32 not FML):
With your help.The problem the tux_array2fml has solved.Now I get another problem: I can succeeded call the function through a test function that written by c,but when I try to write that by php use php_tuxedo.so,the tux_array2fml is succeeded,but tux_tpinit is failed.In the Ulog,can find the error is:
2018 "ERROR: Must set WSINTOPPRE71 to 'yes' in order to interoperate with handlers prior to release 7.1"
but infact I already set this environment variable.
Can version 7.1 client call version 6.5 server function through php_tuxedo.xo?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Are you sure its set correctly? Check the output of php_info (), or similar ways to
echo an environment variable, to make sure its set the way you think.
Having not personally tried a 7.1 to 6.5 connection, I can only refer to the BEA docs. Remember you are of course writing the BEA client with PHP.
This may not be much help, but we have to make sure the obvious bases are covered first.
Brian
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In our project,bea server service has been built,and the fielded has been defined. The fml fields all are above 50000. I try to define a fml field file like this:
# Field table file
#*base 50960
*base 0
#name rel-number type flags comment
#---- ---------- ---- ------ -------
USER_NUM 50964 string -
PASSWD 50996 string -
RET_FLAG 61006 string -
FAIL_REASON 61007 string -
and change the arg. of tux_falloc,define this:
# Field table file
*base 50960
#name rel-number type flags comment
#---- ---------- ---- ------ -------
USER_NUM 4 string -
PASSWD 36 string -
#RET_FLAG 46 string -
#FAIL_REASON 47 string -
,when I call the tux_array2fml,the result is same:
Warning: Failed to add field [0] to FML buffer [LIBFML_CAT:5: NLS:6: Message not found, catalog LIBFML_CAT, set 1, num 5 ] in /home/apache/htdocs/testfml32.php on line 25
Warning: Failed to add field [0] to FML buffer [LIBFML_CAT:5: NLS:6: Message not found, catalog LIBFML_CAT, set 1, num 5 ] in /home/apache/htdocs/testfml32.php on line 25
,how can solve it?
Without seeing at least the key portions of you code, its difficult, but I can make some
educated (wild) guess of what might be wrong...
Are you assigning the array values using the FIELDID, or the FIELDName? If the name,
does your script properly load the field def files, by the environment variables (either
preset or tux_tuxputenv) ? The fact its failing on FieldID 0, makes me think you're
using the Field Name, and it may not have properly found the field def files. If you are
using Field Names, try a simple test to use FieldID, if it works that is probably your problem.
Brian
> when I call the tux_array2fml,the result is same:
> Warning: Failed to add field [0] to FML buffer [LIBFML_CAT:5: NLS:6: Message not found, catalog LIBFML_CAT, set 1, num 5 ]
> in /home/apache/htdocs/testfml32.php on line 25
"NLS:6: Message not found, ..." means that Tuxedo
cannot understand your locale. If you want to get
a meaningful message, check $TUXDIR/locale directory and set your locale like this:
$ cd $TUXDIR/locale
$ ln -s C [your locale. in my case, 'ko_KR']
I know this is *not* your problem.
The clue of your problem is in the message:
"catalog LIBFML_CAT, set 1, num 5".
Let's take a look Set 1 and message number 5 in
$TUX_DIR/locale/C/LIBFML.text.
It says "ERROR: Unknown field number or type".
That's it!
I recommend to check your Tuxedo environment using
tux_tuxgetenv() functions(assuming FML32 not FML):
echo (tux_tuxgetenv("FLDTBLDIR32"));
echo (tux_tuxgetenv("FIELDTBLS32"));
Right directory? and right field definition file?
--
ChelMin Lee
Thank you very much!
With your help.The problem the tux_array2fml has solved.Now I get another problem: I can succeeded call the function through a test function that written by c,but when I try to write that by php use php_tuxedo.so,the tux_array2fml is succeeded,but tux_tpinit is failed.In the Ulog,can find the error is:
2018 "ERROR: Must set WSINTOPPRE71 to 'yes' in order to interoperate with handlers prior to release 7.1"
but infact I already set this environment variable.
Can version 7.1 client call version 6.5 server function through php_tuxedo.xo?
http://edocs.bea.com/tuxedo/tux71/messages/lbwsc/lbwsc020.htm
For error 2018...
"If your workstation client needs to talk to older workstaition listeners or workstation handlers then the WSINTOPPRE71 variable must be set to 'yes'. "
Are you sure its set correctly? Check the output of php_info (), or similar ways to
echo an environment variable, to make sure its set the way you think.
Having not personally tried a 7.1 to 6.5 connection, I can only refer to the BEA docs. Remember you are of course writing the BEA client with PHP.
This may not be much help, but we have to make sure the obvious bases are covered first.
Brian