IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

Mainframe Natural to Web Service - NAT6971 RC=1

  • 1.  Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Wed August 05, 2009 02:12 AM

    Add Broker Attributes class definition now for TECXML1, broker id is ETBTEC. Now I start a Java RPC server, and it shows up in Control Center so all is fine there.

    The, I start my Natural session with:
    RPC=(RPCSIZE=32,MAXBUFF=28,AUTORPC=ON,COMPR=2,
    DFS=(TECXML1,ETBTEC,L))’

    Here’s my program:
    DEFINE DATA LOCAL USING RPCINFOL
    LOCAL
    1 BORR-SSN-I (A9)
    1 NAME (A30)
    END-DEFINE


    CALLNAT ‘TECXML1’
    BORR-SSN-I
    NAME
    *
    WRITE
    ‘=’ BORR-SSN-I
    ‘=’ NAME
    *
    ON ERROR
    CALLNAT ‘RPCINFO’ SERVER-PARMS CLIENT-PARMS
    DISPLAY C-NODE C-NAME C-ERROR-TEXT (AL=55)
    END-ERROR
    .

    I Get NAT6971 Connection error on Client, reason 1 .

    C-NODE C-NAME C-ERROR-TEXT


    ETBTEC TECXML1 ETB is not available

    RPCERR shows me
    RPCERROR More: >
    NATURAL error number: NAT6971
    NATURAL error text :
    Connection error on Client, reason 1 ,TECXML1 /ETBT

    RPC error information:
    ETB is not available

    Server Node: ETBTEC Library: SADFAP
    Server Name: TECXML1 Program: ESIGN
    Line No: 0070

    What is missing, any help/clues…thanks?

    -Don


    #Mainframe-Integration
    #webMethods
    #EntireX


  • 2.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Wed August 05, 2009 07:49 AM

    Dear Don,

    the Broker stub is missing on the Natural RPC client side.
    Please

    • link NATETB23 to your Natural nucleus
      or
    • start your Natural with RCA=BROKER and add the EXX loadlib to your STEPLIB chain

    Wolfgang


    #EntireX
    #Mainframe-Integration
    #webMethods


  • 3.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Wed August 05, 2009 07:59 PM

    Great, that worked.

    Now I’m getting an RC=9, and the message says:

    00080003 Access Denied password not authorized
    NAT6971 Connection error on Client, reason 9 ,TECXML1

    So I take it this is my ACF2 password. I do see the violation in my broker so I now think I’m getting that far.

    Do I need to run a user exit? I’ve tried USR1071, USR2071, USR2072, not sure???


    #EntireX
    #Mainframe-Integration
    #webMethods


  • 4.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Thu August 06, 2009 07:42 AM

    Before the first Broker call you have to logon to the EntireX Broker using USR2071 with a valid user ID and password for the security environment used by the EntireX Broker. If the EntireX Broker runs on z/OS you have to use a valid ACF2 user ID and password.


    #Mainframe-Integration
    #webMethods
    #EntireX


  • 5.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Fri August 07, 2009 06:35 AM

    Now using USR2071, still getting invalid password…broker security shows the id and ACF2 response code saying invalid password being issued, so I guess I’m getting to EntireX security. My password also works to login to broker control center, also using it for Natural IDL generation, etc…so I know it’s authenticating correctly to broker and entirex security.

    Is there something else that is prohibiting this from being passed correctly? Is there something else in the install that could be stopping this from passed correctly…not sure where to look? I’ve got GWMSGL=3 in broker startup but I don’t know where the trace is going? Just curious too, our new password standard rules enforce that we use a number and national sign in the password, so I’m using a number and the ‘@’ sign, but like I said it works into control center so is this an issue?


    #Mainframe-Integration
    #webMethods
    #EntireX


  • 6.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Fri August 07, 2009 08:30 AM

    Did you get the “invalid password” already for the USR2071 call?
    Is your password in mixed case?

    Some hnts:

    1. add ACIVERS=8 to your RPC parameter string
    2. use exactly the same Broker ID ETBTEC in USR2071 as in your DFS parameter
    3. if you invoke USR2071P for logon:
      user ID is uppercase translated in any case
      password is uppercase translated if Mixed case = N
      if you call USR2071N via application, user ID and password are taken ASIS

    #EntireX
    #Mainframe-Integration
    #webMethods


  • 7.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Fri August 07, 2009 08:00 PM

    I have broker attributes file as such:
    NODE = 220
    BROKER-ID = ETBTEC

    So, I was thinking that my Natural parms would then be:
    RPC=(RPCSIZE=32,MAXBUFF=28,AUTORPC=ON,COMPR=2,DFS=(TECXML1,ETBTEC,L))

    and that I would setup USR2071:
    1 PARM-INPUT
    2 I-FUNCTION (A08) INIT <‘LOGON’>
    2 I-BROKER-ID (A32) INIT <‘ETBTEC’>
    2 I-USER-ID (A08) INIT <‘RPC0011’>
    2 I-PASSW (A08) INIT <‘PASSWORD OMITTED FOR THIS LOG’>
    2 I-NEWPASSW (A08)
    1 PARM-OUTPUT
    2 O-RC (N04)
    2 O-ERRTEXT (A80)

    Results:
    “00200216 API: Invalid BROKER-ID”
    …hmmm, kinda seems funny to have to do that bt ???

    So I changed my RPC parms to 220 and the calling program uses 220 as this:
    1 PARM-INPUT
    2 I-FUNCTION (A08) INIT <‘LOGON’>
    2 I-BROKER-ID (A32) INIT <‘220’>
    2 I-USER-ID (A08) INIT <‘RPC0011’>
    2 I-PASSW (A08) INIT <‘PASSWORD OMITTED FOR THIS LOG’>
    2 I-NEWPASSW (A08)

    That has got me this far, but don’t know if that has been causing me these issues too???

    ################################################################################
    Now, per your suggestions I have my parms as:
    RCA=(BROKER),
    RPC=(RPCSIZE=32,MAXBUFF=28,AUTORPC=ON,COMPR=2,ACIVERS=8,
    DFS=(TECXML1,220,L))’

    Results:
    C-NODE: 220
    C-NAME: TECXML1
    C-ERROR-TEXT: 00200208 * No message text associated with this error code *
    ESIGN 0260 NAT6971 Connection error on Client, reason 9 ,TECXML1

    So I think ACI problem so I make it:
    ACIVERS=4

    Results:
    C-NODE: 220
    C-NAME: TECXML1
    C-ERROR-TEXT:
    00200379 API: Inconsistent Security Installation
    ESIGN 0260 NAT6971 Connection error on Client, reason 9 ,TECXML1

    Then:
    ACIVERS=2

    Results:
    C-NODE: 220
    C-NAME: TECXML1
    C-ERROR-TEXT:
    00080003 Access Denied password not authorized
    ESIGN 0260 NAT6971 Connection error on Client, reason 9 ,TECXML1

    ################################################################################
    Here’s the remaining code for your review.


    END-DEFINE
    *
    EXAMINE I-PASSW TRANSLATE INTO UPPER
    EXAMINE I-NEWPASSW TRANSLATE INTO UPPER
    *
    CALLNAT ‘USR2071N’ USING PARM-INPUT PARM-OUTPUT
    /*
    /*
    CALLNAT ‘TECXML1’
    BORR-SSN-I
    NAME
    *
    WRITE
    ‘=’ BORR-SSN-I
    ‘=’ NAME
    *
    ON ERROR
    CALLNAT ‘RPCINFO’ SERVER-PARMS CLIENT-PARMS
    WRITE
    / ‘=’ C-NODE
    / ‘=’ C-NAME
    / ‘=’ C-ERROR-TEXT (AL=78)
    END-ERROR
    END


    #Mainframe-Integration
    #webMethods
    #EntireX


  • 8.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Mon August 10, 2009 08:24 AM

    Sorry that I have overlooked the problem with your Broker ID: the broker ID ETBTEC is not valid when using NET communication (the default for NATET23).
    I assume that you have setup your Broker for NET (=Adabas SVC)communication.

    Please try again as follows:

    RPC=(RPCSIZE=32,MAXBUFF=28,AUTORPC=ON,COMPR=2,ACIVERS=8,
    DFS=(TECXML1,ETB220,L))

    Call USR2071P with I-BROKER-ID = ETB220

    The Broker ID in DFS must be identical to I-BROKER-ID

    Please note that the prefix ETB in ETB220 has no meaning for NET communication. The EntireX Broker stub just looks for the trailing digits to build the DBID.


    #Mainframe-Integration
    #webMethods
    #EntireX


  • 9.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Mon August 10, 2009 11:41 PM

    That works, I get 00000000 Successful Response from RPC Server…but I’m not out of the woods yet???

    Now I get a NAT0082, ugh? No line number or object, but it’s the TECXML1 object right? Why can’t it find this object?


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 10.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Mon August 10, 2009 11:45 PM

    Oh yea, I to go with ACIVERS=2 or got inconsistency errors?

    RPC=(RPCSIZE=32,MAXBUFF=28,AUTORPC=ON,COMPR=2,ACIVERS=2,
    DFS=(TECXML1,ETB220,L))’


    #Mainframe-Integration
    #EntireX
    #webMethods


  • 11.  RE: Mainframe Natural to Web Service - NAT6971 RC=1

    Posted Tue August 11, 2009 08:34 AM

    ACIVERS=8 is OK.

    The NAT0082 is reported from the EntireX Java RPC server because he does not find TECXML1. Possible reasons:

    • TECXML1 is not the correct program name (must be the first or only name in the IDL)
    • the libray name is wrong (the first or only name in the IDL)
      The most possible reason is the wrong library name. For historical reasons the Natural RPC client sends its own client library name to the RPC server. If you want to use a different name you must call USR4008N to set the library name before calling the RPC server.
      The library name send to the RPC server is currently restricted to 8 characters.

    #EntireX
    #Mainframe-Integration
    #webMethods