[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
-----------------------------------------------------------------------