Load Ingest Data
Results 1 to 7 of 7

Thread: Attunity <> Tuxedo interaction error

  1. #1
    arueda is offline Junior Member
    Join Date
    Aug 2010
    Posts
    5
    Rep Power
    0

    Post Attunity <> Tuxedo interaction error

    Good morning,
    I'm getting an error when performing a test on Tuxedo transaction. The error I get is (trace file):

    Code:
     
     
    (1) <acx type='request'>
     <setConnection connectionId='11477.11024206'/>
     <execute interactionMode='sync-send-receive' interactionName='RAT_INS_EST'>
      <Rat_Inst_Est_in RAT_ano_exp='2010' RAT_cod_cons='CT' RAT_cod_est='51877'
        RAT_cod_establ='C' RAT_cod_per='71164' RAT_cod_proc='984B'
        RAT_cod_prov='1' RAT_cod_prov_e='CO' RAT_documen='1'
        RAT_estado='0' RAT_historico='A' RAT_num_exp='8'
        RAT_num_hist='1' RAT_observ='' RAT_tasas='1' iden_usu='CT110130001'
        maquina_d='PRUEBAS81'/>
     </execute>
    </acx>
    (1) [2010-09-02T08:58:35.616] acxdisp.c (5823): ; acxdisp (2010-09-02T08:58:35.616): setConnection
    (1) [2010-09-02T08:58:35.616] acxdisp.c (1277): ; trace ---> onSetConnection()
    (1) [2010-09-02T08:58:35.616] acxdisp.c (5870): ; acxdisp (2010-09-02T08:58:35.616): setConnection --> rc=1
    (1) [2010-09-02T08:58:35.616] acxdisp.c (5823): ; acxdisp (2010-09-02T08:58:35.616): execute
    (1) [2010-09-02T08:58:35.616] acxdisp.c (1784): ; trace ---> onExecute()
    (1) [2010-09-02T08:58:35.616] acxdisp.c (1940): ; trace ---> StartTransaction invoked by Execute (AutoCommit)
    (1) [2010-09-02T08:58:35.616] acxdisp.c (1532): ; trace ---> onTransactionStart()
    (1) [2010-09-02T08:58:35.616] tuxutility.c (0): ; tuxBegin: Start Transaction
    (1) [2010-09-02T08:58:35.616] tuxadapterutil.c (0): ; TUXSetPrivateInfo start
    (1) [2010-09-02T08:58:35.616] tuxadapterutil.c (0): ; TUXSetPrivateInfo end
    (1) [2010-09-02T08:58:35.616] tuxadapterutil.c (0): ; TUXInitInput start
    (1) [2010-09-02T08:58:35.616] tuxadapterutil.c (0): ; TUXInitInput end
    (1) [2010-09-02T08:58:35.616] tuxadapterutil.c (0): ; TUXInitOutput start
    (1) [2010-09-02T08:58:35.616] tuxadapterutil.c (0): ; TUXInitOutput end
    (1) [2010-09-02T08:58:35.616] tuxadapterutil.c (0): ; TUXAllocateInput start
    (1) [2010-09-02T08:58:35.616] TuxAdapter::FML32fromACXinput (0): ; *** Conversion Starts for Rat_Inst_Est_in ***
    (1) [2010-09-02T08:58:35.616] TuxAdapter::FML32fromACXinput (0): ; RAT_num_hist#0=1
    (1) [2010-09-02T08:58:35.616] TuxAdapter::FML32fromACXinput (0): ; RAT_cod_cons#0=CT
    (1) [2010-09-02T08:58:35.616] TuxAdapter::FML32fromACXinput (0): ; RAT_cod_proc#0=984B
    (1) [2010-09-02T08:58:35.616] TuxAdapter::FML32fromACXinput (0): ; RAT_ano_exp#0=2010
    (1) [2010-09-02T08:58:35.616] TuxAdapter::FML32fromACXinput (0): ; RAT_num_exp#0=8
    (1) [2010-09-02T08:58:35.616] TuxAdapter::FML32fromACXinput (0): ; RAT_cod_prov#0=1
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; RAT_documen#0=1
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; RAT_tasas#0=1
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; RAT_observ#0=
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; RAT_cod_per#0=71164
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; iden_usu#0=CT110130001
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; maquina_d#0=PRUEBAS81
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; RAT_cod_prov_e#0=CO
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; RAT_cod_establ#0=C
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; RAT_estado#0=0
    (1) [2010-09-02T08:58:35.632] TuxAdapter::FML32fromACXinput (0): ; RAT_cod_est#0=51877
    (1) [2010-09-02T08:58:35.647] TuxAdapter::FML32fromACXinput (0): ; RAT_historico#0=A
    (1) [2010-09-02T08:58:35.647] TuxAdapter::FML32fromACXinput (0): ; *** Conversion Ended for Rat_Inst_Est_in ***
    (1) [2010-09-02T08:58:35.647] tuxadapterutil.c (0): ; TUXAllocateInput end
    (1) [2010-09-02T08:58:35.647] tuxadapterutil.c (0): ; TUXAllocateOutput start
    (1) [2010-09-02T08:58:35.663] tuxutility.c (0): ; TUXAllocateOutput start for buffer type FML 
    (1) [2010-09-02T08:58:35.663] tuxutility.c (0): ; TUXAllocateOutput end for buffer type FML
    (1) [2010-09-02T08:58:35.663] tuxadapterutil.c (0): ; TUXAllocateOutput end
    (1) [2010-09-02T08:58:35.663] tuxadapterutil.c (0): ; TUXDoEvent start event type: 0
    (1) [2010-09-02T08:58:36.991] tuxadapterutil.c (0): ; TUXProccesOutput start
    (1) [2010-09-02T08:58:37.007] tuxadapterutil.c (0): ; TUXCheckOutput start
    (1) [2010-09-02T08:58:37.007] acxdisp.c (4116): ; Service output length(=1428) is greater than allocated FML ouput buffer(=1028) for service RAT_INS_EST.
     User Action: Adjust adapter FML allocation figures
    (1) [2010-09-02T08:58:37.007] acxdisp.c (5870): ; acxdisp (2010-09-02T08:58:37.007): execute --> rc=0
    (1) [2010-09-02T08:58:37.007] acxdisp.c (5884): ; trace ---> Rollback invoked by exception (AutoCommit)
    (1) [2010-09-02T08:58:37.007] acxdisp.c (1650): ; trace ---> onTransactionRollback()
    (1) [2010-09-02T08:58:37.007] tuxutility.c (0): ; tuxAbort: transaction level - 1 
    (1) [2010-09-02T08:58:37.007] acxdisp.c (1475): ; trace ---> onHoldConnection()
    (1) [2010-09-02T08:58:37.007] irpc.c (6117): ; Trace: Following response has been sent:
    (1) [2010-09-02T08:58:37.007] xmlstrm.c (5581): ; Stream Codepage is: UTF-8, data is:
    (1) <acx type='response'>
     <exception origin='TUXAdapter.TUXCheckOutput' name='server.internalError'>
      <info>Service output length(=1428) is greater than allocated FML ouput buffer(=1028) for service RAT_INS_EST.
     User Action: Adjust adapter FML allocation figures</info>
     </exception>
    </acx>

    Could anyone help me? Any ideas? How can I configure FML ouput buffer size?

    I am working with Attunity 5.1
    Thank you very much in advance

  2. #2
    Join Date
    Sep 2006
    Posts
    233
    Rep Power
    10
    There is no such specific configuration for FML output buffer length, it is determined directly by the definition of the interaction output record. It seems that at this point, the metadata of the output record for the RAT_INS_EST interaction (the record name is possibly Rat_Inst_Est_out) defines a record whose total length is 1028 whereas the actual FML output record is of length 1428.

    Fixing the definition of the interaction output record to correctly describe the FML output buffer will resolve this issue.
    By Dror Harari

    To Find Out more About Attunity Technology:
    Attunity
    or:
    Contact Us

  3. #3
    arueda is offline Junior Member
    Join Date
    Aug 2010
    Posts
    5
    Rep Power
    0

    Question

    Thanks for the reply.

    Output report has the following structure:


    Code:
    <record name="Rat_Inst_Est_out">
    <field name="tpRetCode" type="int"/>
    <field name="tpErrno" type="int"/>
    <field length="128" name="tpErrDetails" type="string"/>
    <field name="Rat_Inst_Est_out_response" type="Rat_Inst_Est_out__out"/>
    </record>
    <record name="Rat_Inst_Est_out__out">
    <field name="RAT_contador" nativeType="int4" reference="true" type="long"/>
    </record>


    I have set other records with much more fields and do not give me error .... What can be the difference? What am I doing wrong?

    Output record that works:

    Code:
     
    <record name="Rat_Info_Per_Response__Rat_Info_Per_out">
    <field array="*" length="128" name="apel_1" nativeType="string" reference="true" type="string"/>
    
    <field array="*" length="128" name="apel_2" nativeType="string" reference="true" type="string"/>
    
    <field array="*" length="128" name="tipo_ent_i" nativeType="string" reference="true" type="string"/>
    
    <field array="*" length="128" name="tipo_rem_f" nativeType="string" reference="true" type="string"/>
    
    <field array="*" length="128" name="tipo_rem_i" nativeType="string" reference="true" type="string"/>
    
    <field array="*" length="128" name="dni" nativeType="string" reference="true" type="string"/>
    
    <field array="*" length="128" name="nombre" nativeType="string" reference="true" type="string"/>
    
    <field array="*" length="128" name="raz_soc" nativeType="string" reference="true" type="string"/>
    
    <field array="*" length="128" name="direccio" nativeType="string" reference="true" type="string"/>
    
    <field array="*" name="nume_ent_ult" nativeType="int4" reference="true" type="long"/>
    
    <field array="*" length="128" name="tipo_dest" nativeType="string" reference="true" type="string"/>
    
    <field array="*" length="128" name="fecha_re" nativeType="string" reference="true" type="string"/>
    
    <field array="*" name="o_num_ent" nativeType="int4" reference="true" type="long"/>
    
    <field array="*" length="128" name="pobl_rem" nativeType="string" reference="true" type="string"/>
    
    <field array="*" name="nume_ent" nativeType="int4" reference="true" type="long"/>
    
    <field array="*" name="funcion" nativeType="int4" reference="true" type="long"/>
    
    <field array="*" name="cod_prov" nativeType="int2" reference="true" type="short"/>
    
    <field array="*" name="cod_pais" nativeType="int2" reference="true" type="short"/>
    
    <field array="*" name="dias_retraso" nativeType="int2" reference="true" type="short"/>
    
    <field array="*" length="128" name="pregunta" nativeType="string" reference="true" type="string"/>
    Code:
    </record>
    Rat_Inst_Est is a service that not always return the whole data structure. If everything was Ok, it should return a value in the variable "contador" and whether there was a problem (tuxedo failure, duplicate record, ...), this variable should be empty and the "tpErrno", "tpRetCode and "TpErrDetails" variables have a value, return type is "tpfail" (Tuxedo) and we get the error mentioned.
    Last edited by arueda; 09-03-2010 at 07:29 AM.

  4. #4
    Join Date
    Sep 2006
    Posts
    233
    Rep Power
    10
    With the output record definition, the fields tpRetCode, tpErrno and tpErrDetails are 'virtual' fields - they are not returned by the Tuxedo service.

    Here the only real field in the output record is the RAT_contador field which is a 4-byte signed integer.

    So how do we account for the 1428 bytes we receive from Tuxedo service? I guess that this service actually returns more than just the RAT_contador field.

    Can you verify that?

    The adapter code currently checks for discrepancy (although it is possible that such discrepancy is valid).

    Please add a dumy string field to the output record - say a field of type String with a length of 1500 bytes. You can mark this field private so it will not be exposed externally. If this resolves you problem please let me know.
    By Dror Harari

    To Find Out more About Attunity Technology:
    Attunity
    or:
    Contact Us

  5. #5
    arueda is offline Junior Member
    Join Date
    Aug 2010
    Posts
    5
    Rep Power
    0
    It finally works. Great!!!

    However, I've found a new error. Because I am introducing a duplicate record I got a tpsvcfail (code: 11) error from tuxedo. In code, I return values: TpFail and Tpusercode = 0, and I get this response:

    <?xml version="1.0" encoding="UTF-8"?>
    <acx type="response">
    <executeResponse id="0">
    <Rat_Inst_Est_out tpErrno="11196404" tpRetCode="11">
    <Rat_Inst_Est_out_response RAT_contador="0" />
    </Rat_Inst_Est_out>
    </executeResponse>
    </acx>

    Is that a common error? why tpErrno = 11196404?
    Thank you



    f

  6. #6
    Join Date
    Sep 2006
    Posts
    233
    Rep Power
    10
    What change did you make for it to work? Others may benefit from your experience :cool:

    Now the tpErrno value 11196404 is not a known error number as far as I know. When the result is OK, what tpErrno value do you get?
    By Dror Harari

    To Find Out more About Attunity Technology:
    Attunity
    or:
    Contact Us

  7. #7
    arueda is offline Junior Member
    Join Date
    Aug 2010
    Posts
    5
    Rep Power
    0
    I only introduce a 1 lenght string field y return record, and it magically works...however, I can`t understand why...

    When result is tpsuccess I get tpErrno = 0

    Furthermore, I only get the values inside virtual fields if I set output record type to String, but not if I set it up to FML/XML (I obtain.
    <?xml version="1.0" encoding="UTF-8"?>
    <Result>Interaction tested successfully. No value returned.</Result> )


    Thank you

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •