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

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:

http://www-912.ibm.com/n_dir/nas4apar.nsf/c79815e083182fec862564c00079d117/8fe940d8d38994ab8625778b003cbe66?OpenDocument&Highlight=2,%25alloc

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üngliche Nachricht-----
> Von: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [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: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
>>      [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag von
>>      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:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------
> ***********************************************************************************
> VEGA Grieshaber KG
> Kommanditgesellschaft mit Sitz in Wolfach
> Registergericht Freiburg: HRA 680 687
>
> Persönlich haftender Gesellschafter: Jürgen Grieshaber
>
> Persönlich haftende Gesellschafterin: Grieshaber Holding GmbH
> Sitz Wolfach, Registergericht Freiburg: HRB 680 271
>
> Geschäftsführer: Jürgen Grieshaber, Günter Kech, Rainer Mielke
> ************************************************************************************
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> 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
-----------------------------------------------------------------------