[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ftpapi] HTTPAPI - Binding step fails with CPDD02 - Definition not found for symbol 'HTTP_STRING'



Cause found.

 

It appears that HTTPAPIR4 is a really popular utility so it was also
implemented in products from third party suppliers (very old versions)
and this interfered with the compilation.

 

 

Regards

Peder

 

Fra: Udesen, Peder
Sendt: 23. april 2020 11:28
Til: ftpapi@xxxxxxxxxxxxxxxxxxxxxx
Emne: HTTPAPI - Binding step fails with CPDD02 - Definition not found for symbol 'HTTP_STRING'

 

I have downloaded HTTPAPI version 1.40 and compiled it following the excellent instructions.
Now I have tried to implement it in my program.

 

But when compiling it I’m getting an error during the binding step and I can’t find out what is wrong.

The program compiles without error but it is the binding step that fails with CPD5D02.

 

 

I have removed comments and anonymized the literals in it.

The library list contains LIBHTTP.

 

     H DECEDIT('0,') DATEDIT(*DMY.) OPTION(*NODEBUGIO : *SRCSTMT)

     H BNDDIR('QC2LE':'HTTPAPI')

     H/IF DEFINED(*CRTBNDRPG)

     H ACTGRP(*CALLER) DFTACTGRP(*NO)

     H/ENDIF

     D LOCAL           DS          2000

 

     D/copy LIBHTTP/QRPGLESRC,HTTPAPI_H

 

     D URL             s            256A

     D request         s            256A

     D response        s               A   len(100000)

 

     C     *ENTRY        PLIST

     C                   PARM                    LOCAL

 

       http_setAuth( HTTP_AUTH_BASIC: 'XXX': 'XXX');

       request = '';

       url = 'http://myServer:9999/xxxx.............';

       response = http_string('POST': url: request: 'application/json');

 

     C                   seton                                        LR

     C                   return

 

 

The error from the job log is as follows:

CPD5D02    Diagnostik              30   23.04.20  09:38:03,512752  QBNBIND      QSYS        *STMT    QBNBIND     QSYS        *STMT

                                      Fra modul . . . . . . . . . :   QBNBSYMR                                                     

                                      Fra procedure . . . . . . . :   QBNBSYMR__UnresolvedReferenceIterator                       

                                      Sætning . . . . . . . . . . :   34                                                          

                                      Til modul . . . . . . . . . :   QBNBSYMR                                                     

                                      Til procedure . . . . . . . :   QBNBSYMR__SignalUnresolvedReferences                        

                                      Sætning . . . . . . . . . . :   8                                                            

                                      Meddelelse  . . :   Definition not found for symbol 'HTTP_STRING'.                          

                                      Årsag . . . . . :   No definition was found for reference HTTP_STRING in                    

                                        *MODULE object XXXXXXXX in library QTEMP. The definition either does not                  

                                        exist or is not of the same data or procedure type as the reference.                      

                                        Handling  . . . :   Try the Create Program (CRTPGM) command again, supplying              

                                        an object that contains a definition for symbol HTTP_STRING.                              

 

 

If I comment the code with http_string it will compile.

But I can’t figure out why it can find  http_setAuth  but not  http_string  ?

 

I have now checked the sources of HTTPAPI_H, HTTPAPIR4 and even INSTALL.

Nothing seems to be wrong.

 

The only thing I have found is that the service program HTTPAPIR4 has the creation date 16 april 2020.

But when doing a DSPBNDDIR BNDDIR(LIBHTTP/HTTPAPI) it shows me this:

                                                    -------Creation--------

Object       Type         Library      Activation   Date         Time     

EXPAT        *SRVPGM      *LIBL        *IMMED       31.05.18     10:10:25 

HTTPAPIR4    *SRVPGM      *LIBL        *IMMED       31.05.18     10:10:38 

 

The creation date is 31 may 2018.                                                                          

I would have expected the date to be 16 april instead.

The INSTALL program  deletes the binding directory HTTPAPI and rebuilds it again. So shouldn’t the creation date be updated?

 

So the big question is – what have I done wrong?

 

Regards

Peder

 



This email and any files transmitted with it may be confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify the sender.

-- 
_______________________________________________
Ftpapi mailing list
Ftpapi@xxxxxxxxxxxxxxxxxxxxxx
http://scottklement.com/mailman/listinfo/ftpapi