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

AW: Help with WSDL2RPG



   Hi Thomas,


   We are on V6R1 here. For me the content of the data structure
   dataSource looks equal in both program versions (except the
   MAXCACHESIZE):


   PGM with ManagedMemoryDataSource_new(16000000);


   Before statement dataSource.pBuffer     =
   %alloc(dataSource.maxCacheSize);


   > EVAL outStream.hParent -> dataSource

     OUTSTREAM.HPARENT.PBUFFER = SPP:*NULL

     OUTSTREAM.HPARENT.CURBUFFSIZE = 0

     OUTSTREAM.HPARENT.MAXBUFFSIZE = 0

     OUTSTREAM.HPARENT.TOTALSIZE = 0

     OUTSTREAM.HPARENT.MAXCACHESIZE = 16000000

     OUTSTREAM.HPARENT.CCSID = 1208

     OUTSTREAM.HPARENT.ISWRITEENABLED = '1'

     OUTSTREAM.HPARENT.ISTEMPFILE = '0'

     OUTSTREAM.HPARENT.ISCCSIDLOCKED = '1'

     OUTSTREAM.HPARENT.ISICONV = '1'

     OUTSTREAM.HPARENT = '        '

     OUTSTREAM.HPARENT.STREAM.HPARENT = SPP:CAC981D09A142430

     OUTSTREAM.HPARENT.STREAM.PREAD = SPP:*NULL

     OUTSTREAM.HPARENT.STREAM.PWRITE = PRP:D96996AC3E02ABD0

     OUTSTREAM.HPARENT.STREAM.PCLOSE = PRP:D96996AC3E02ABE0

     OUTSTREAM.HPARENT.STREAM.ISOPEN = '1'

     OUTSTREAM.HPARENT.STREAM.TYPEIO = 'W'

     OUTSTREAM.HPARENT.STREAM.OFFSET = 0

     OUTSTREAM.HPARENT.STREAM.FD = -1

     OUTSTREAM.HPARENT.PATH =

               ....5...10...15...20...25...30...35...40...45...50...55...6
   0

          1   '
   '

         61   '
   '

        121   '
    '

        181   '
   '

        241   '
   '

     OUTSTREAM.HPARENT.HTRANSCODER =
   SPP:E73A447D850BE560

     OUTSTREAM.HPARENT.CONTENTTYPE
   =

               ....5...10...15...20...25...30...35...40...45...50...55...6
   0

          1   'text/xml
    '

         61   '
   '

        121   '
   '

        181   '
    '

        241   '
   '

        301   '
   '

        361   '
   '

        421   '
   '

        481   '
   '

        541   '
   '

        601   '
    '

        661   '
   '

         721   '
     '

         781
   '                                                            '

         841
   '                                                            '

         901   '
     '

         961
   '                                                            '

        1021   '
   '

     OUTSTREAM.HPARENT.UUID.LENGTH =
   32

     OUTSTREAM.HPARENT.UUID.VALUE =
   '684980010F1E1962AEC00004AC12B572'


   After the statement PBUFFER is set.



   PGM with ManagedMemoryDataSource_new(16776704);


   Before statement dataSource.pBuffer     =
   %alloc(dataSource.maxCacheSize);



   EVAL outStream.hParent -> dataSource

   OUTSTREAM.HPARENT.PBUFFER = SPP:*NULL

   OUTSTREAM.HPARENT.CURBUFFSIZE = 0

   OUTSTREAM.HPARENT.MAXBUFFSIZE = 0

   OUTSTREAM.HPARENT.TOTALSIZE = 0

   OUTSTREAM.HPARENT.MAXCACHESIZE = 16776704

   OUTSTREAM.HPARENT.CCSID = 1208

   OUTSTREAM.HPARENT.ISWRITEENABLED = '1'

   OUTSTREAM.HPARENT.ISTEMPFILE = '0'

   OUTSTREAM.HPARENT.ISCCSIDLOCKED = '1'

   OUTSTREAM.HPARENT.ISICONV = '1'

   OUTSTREAM.HPARENT = '        '

   OUTSTREAM.HPARENT.STREAM.HPARENT = SPP:CAC981D09AFD03D0

   OUTSTREAM.HPARENT.STREAM.PREAD = SPP:*NULL

   OUTSTREAM.HPARENT.STREAM.PWRITE =
   PRP:D96996AC3E02ABD0

   OUTSTREAM.HPARENT.STREAM.PCLOSE =
   PRP:D96996AC3E02ABE0

   OUTSTREAM.HPARENT.STREAM.ISOPEN =
   '1'

   OUTSTREAM.HPARENT.STREAM.TYPEIO = 'W'

   OUTSTREAM.HPARENT.STREAM.OFFSET =
   0

   OUTSTREAM.HPARENT.STREAM.FD =
   -1

   OUTSTREAM.HPARENT.PATH
   =

             ....5...10...15...20...25...30...35...40...45...50...55...60

        1   '
   '

       61   '
   '

      121   '
   '

      181   '
   '

      241   '
   '

   OUTSTREAM.HPARENT.HTRANSCODER = SPP:F1FD78B40A0B2910

   OUTSTREAM.HPARENT.CONTENTTYPE =

             ....5...10...15...20...25...30...35...40...45...50...55...60

        1   'text/xml                                                    '

       61   '                                                            '

      121   '                                                            '

      181   '                                                            '

      241   '                                                            '

      301   '                                                            '

      361   '                                                            '

      421   '                                                            '

      481   '                                                            '

      541   '                                                            '

      601   '                                                            '

      661   '                                                            '

      721   '
   '

      781   '                                                            '

      841   '
   '

      901   '
   '

      961   '
   '

     1021   '    '

   OUTSTREAM.HPARENT.UUID.LENGTH =
   32

   OUTSTREAM.HPARENT.UUID.VALUE =
   '6C43F0010F4C1962AEC00004AC12B572'




   Anyway we've planned to install some group PTF in 2 weeks, perhaps
   there is also a problem on V6R1 with our PTF level.

   I `ll keep you up to date.





   Thanks,


   Timo


   -----Urspr�he Nachricht-----
   Von: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag von Thomas
   Raddatz
   Gesendet: Mittwoch, 2. Mai 2012 15:23
   An: HTTPAPI and FTPAPI Projects
   Betreff: Re: Help with WSDL2RPG


   Timo,


   For sure 'dataSource' is not empty in

   ManagedMemoryDataSource_OutputStream_write(). It appears to be empty
   when

   using the standard "eval" debugger command to display its content:


       eval dataSource


   The problem is that 'dataSource' is based on pointer
   'outStream.hParent'.

   'outStream' is also based on a pointer and I think that this is the
   reason

   why the debugger cannot correctly display the content of 'dataSource'.
   It

   correctly displays the content of 'outStream':


       eval outStream


   But it fails for 'dataSource' which is based on a pointer that is part
   of

   data structure 'outStream'.


   You can display the content of 'dataSource' when you specify the
   pointer

   that it is based on like this:


       eval outStream.hParent -> dataSource


   But for now let us go back to the original problem. I searched the IBM

   APARs for the problem and I found a matching APAR for V7R1, which makes
   me

   assuming that you are on V7R1:


   [1]http://www-912.ibm.com/n_dir/nas4apar.nsf/c79815e083182fec862564c000
   79d117/8fe940d8d38994ab8625778b003cbe66?OpenDocument&Highlight=2,%25all
   oc


   Furthermore I assume that you changed the default value of parameter

   OPTIMIZE of the CRTRPGMOD command from *NONE to *FULL.


   Given that my assumptions are true, you need to apply PTF SI41005 or
   add

   keyword "ALLOC(*SNGLVL)" to module WSDL2R87.


   I would prefer to apply the PTF.


   Thomas.


   Am 02.05.2012 11:19, schrieb Casaluci, Timo:

   > Hello Thomas,

   >

   >   just debugged it. What I see is that:

   >

   > 1) After:

   >           hDataSource = ManagedMemoryDataSource_new(16776704);

   >

   > hDataSource is set to address  " SPP:EB3EC429042AB100".

   >

   > 2) After:

   >          hOutStream = ManagedMemoryDataSource_OutputStream_open(

   >              hDataSource: contentType: getPostCcsid());

   >

   > hOutStream is set to 1

   >

   > 3) In procedure ManagedMemoryDataSource_OutputStream_write()

   > the data structure  "dataSource" is empty and after

   > dataSource.pBuffer     = %alloc(dataSource.maxCacheSize);

   >

   > the program jumps to the monitor group.

   >

   > With

   > hDataSource = ManagedMemoryDataSource_new(16000000);

   > the data structure  "dataSource" is already empty

   > but the statement dataSource.pBuffer  =
   %alloc(dataSource.maxCacheSize);

   > works fine.

   >

   > Regards,

   >

   > Timo

   >

   > -----Urspr�he Nachricht-----

   > Von: [2]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   [3][mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag von Thomas
   Raddatz

   > Gesendet: Samstag, 28. April 2012 18:50

   > An: HTTPAPI and FTPAPI Projects

   > Betreff: Re: Help with WSDL2RPG

   >

   > Timo,

   >

   > I have no idea why 16776704 does not work for you. We are on V6R1. If
   you

   > want to debug that problem I suggest to add a breakpoint to the
   following

   > statement of procedure ManagedMemoryDataSource_OutputStream_write()
   in

   > module WSDL2R87 of service program WSDL2RPGRT:

   >

   >      dataSource.pBuffer = %alloc(dataSource.maxCacheSize);

   >

   > I wonder why 16776704 should not be a positive number. Maybe that
   your RPG

   > compiler or execution environment is drunken. ;-)

   >

   > Or maybe that your iSeries does not know the RPG manual, which
   clearly

   > states that 16776704 is a legal value:

   >

   >   From %alloc():

   >

   > "The parameter must be a non-float numeric value with zero decimal
   places.

   > The length specified must be between 1 and 16776704."

   >

   > Thomas.

   >

   >

   > Am 28.04.2012 00:12, schrieb Casaluci, Timo:

   >>      Hello Thomas,

   >>

   >>

   >>      I've to reduce the max. memory size to something which is
   smaller than

   >>      16776704, with that value I got the error:

   >>

   >>

   >>                               Additional Message

   >>      Information

   >>

   >>

   >>

   >>       Message ID . . . . . . :   CEE0808       Severity . . . . . .
   . :

   >>      30

   >>

   >>       Message type . . . . . :   Escape

   >>

   >>       Date sent  . . . . . . :   27.04.12      Time sent  . . . . .
   . :

   >>      23:17:07

   >>

   >>

   >>

   >>       Message . . . . :   Requested storage size is not

   >>      valid.

   >>

   >>       Cause . . . . . :   Requested storage size is not a positive
   number.

   >>      The

   >>

   >>         exception occurred in procedure

   >>      CEEGTST.

   >>

   >>       Recovery  . . . :   Use a valid argument and try the operation

   >>      again.

   >>

   >>

   >>

   >>

   >>

   >>                                  Display Message

   >>      Details

   >>

   >>

   >>

   >>       Message ID . . . . . . :   CEE0808       Severity . . . . . .
   . :

   >>      30

   >>

   >>       Date sent  . . . . . . :   27.04.12      Time sent  . . . . .
   . :

   >>      23:17:07

   >>

   >>       Message type . . . . . :

   >>      Escape

   >>

   >>

   >>

   >>

   >>       From program . . . . . . . . . :

   >>      QLEAWI

   >>

   >>         From library . . . . . . . . :     QSYS

   >>

   >>         From module  . . . . . . . . :

   >>      QLETOOL

   >>

   >>         From procedure . . . . . . . :     Q LE

   >>      AWIRaise

   >>

   >>         From statement . . . . . . . :

   >>      178

   >>

   >>

   >>

   >>       To program . . . . . . . . . . :

   >>      WSDL2RPGRT

   >>

   >>         To library . . . . . . . . . :

   >>      WSDL2RPG

   >>

   >>         To module  . . . . . . . . . :

   >>      WSDL2R87

   >>

   >>         To procedure . . . . . . . . :

   >>      WSDL2R87_ManagedMemoryDataSource_OutputSt

   >>

   >>             ream_write

   >>

   >>         To statement . . . . . . . . :

   >>      62100

   >>

   >>

   >>       More...

   >>

   >>

   >>

   >>      After changing it to e.g. 16000000 byte that error doesn't
   occur again.

   >>      I doubled checked this.

   >>

   >>      It also appears that the WS need some more time for the
   processing, but

   >>      after changing the http timeout to 180 I got a response.

   >>

   >>

   >>      Thanks,

   >>

   >>

   >>      Timo

   >>

   >>

   >>      -----Urspr�ngliche Nachricht-----

   >>      Von: [4]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx

   >>      [5][mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag
   von

   >>      [6]thomas.raddatz@xxxxxxxxxxx

   >>      Gesendet: Freitag, 27. April 2012 16:57

   >>      An: HTTPAPI and FTPAPI Projects

   >>      Betreff: Re: AW: Help with WSDL2RPG

   >>

   >>

   >>      Timo,

   >>

   >>

   >>      The FAQ is not clear enough regarding to the maximum memory
   size:

   >>

   >>

   >>         // Setting the cache size to 16MB

   >>

   >>         // (restricted to 16776704 bytes for V5R4 and lower)

   >>

   >>         hDataSource = ManagedMemoryDataSource_new(1024*1024*16);

   >>

   >>      The maximum memory size is 16776704 which is almost
   1024*1024*16 but

   >>      not

   >>

   >>      equal to it. Please reduce the specified memory size to
   16776704 and

   >>      try

   >>

   >>      your request again. On our box it takes 30 seconds with a 4MB
   data

   >>      source

   >>

   >>      and it takes 5 seconds with a 16MB data source to produce the
   request

   >>

   >>      message. The final size of the request message that was sent
   over the

   >>      wire

   >>

   >>      was about 18MB (log file size).

   >>

   >>

   >>      The number of elements were:

   >>

   >>

   >>         MaterialLot         = 1600

   >>

   >>         MaterialLotProperty = 10

   >>

   >>         Value               = 10

   >>

   >>         Quantity            = 2

   >>

   >>

   >>      List of changes:

   >>

   >>

   >>      VSEFACS:    MemoryMamanager_attachService(uuid: cFalse)

   >>

   >>      VSEFACS01:  ManagedMemoryDataSource_new(16776704)

   >>

   >>      VSEFACS20C: Number of array items

   >>

   >>                  Changed MemoryManager_createArray() to take 3
   parameters

   >>      (all

   >>

   >>      places)

   >>

   >>

   >>      You may also drop the array name from the parameters list of

   >>

   >>      MemoryManager_createArray().

   >>

   >>

   >>      Regards,

   >>

   >>

   >>      Thomas.

   >>

   >>

   >>

   >>

   >
   -----------------------------------------------------------------------

   > This is the FTPAPI mailing list.  To unsubscribe, please go to:

   > [7]http://www.scottklement.com/mailman/listinfo/ftpapi

   >
   -----------------------------------------------------------------------

   >
   ***********************************************************************
   ************

   > VEGA Grieshaber KG

   > Kommanditgesellschaft mit Sitz in Wolfach

   > Registergericht Freiburg: HRA 680 687

   >

   > Pers�ch haftender Gesellschafter: J�Grieshaber

   >

   > Pers�ch haftende Gesellschafterin: Grieshaber Holding GmbH

   > Sitz Wolfach, Registergericht Freiburg: HRB 680 271

   >

   > Gesch�sf� J�Grieshaber, G�Kech, Rainer Mielke

   >
   ***********************************************************************
   *************

   >
   -----------------------------------------------------------------------

   > This is the FTPAPI mailing list.  To unsubscribe, please go to:

   > [8]http://www.scottklement.com/mailman/listinfo/ftpapi

   >
   -----------------------------------------------------------------------

   -----------------------------------------------------------------------

   This is the FTPAPI mailing list.  To unsubscribe, please go to:

   [9]http://www.scottklement.com/mailman/listinfo/ftpapi

   -----------------------------------------------------------------------

References

   1. http://www-912.ibm.com/n_dir/nas4apar.nsf/c79815e083182fec862564c00079d117/8fe940d8d38994ab8625778b003cbe66?OpenDocument&Highlight=2,%25alloc
   2. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   3. mailto:[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx]
   4. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   5. mailto:[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx]
   6. mailto:thomas.raddatz@xxxxxxxxxxx
   7. http://www.scottklement.com/mailman/listinfo/ftpapi
   8. http://www.scottklement.com/mailman/listinfo/ftpapi
   9. http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------