<HTML><BODY>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Hi all:</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">I 
think that I found a ZOPE bug. Is really very important for me know what can 
I do for avoid it. The first 9 steps are to recreate the situation and the 
other steps are to provoke the error.</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 1: Crate a folder called "reproducingError" in Zope Interface 
Manage</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 2: create a page template called "index_html" in the "reproducingError" 
folder with the following content:<BR>"<BR>&lt;!-- index_html page template 
--&gt;<BR>&lt;form name="form1" method="post" 
action="reproducingError/init"&gt;<BR>&nbsp; &lt;input type="text" 
name="user"&gt;<BR>&nbsp; &lt;input type="submit" name="Submit" 
value="Submit"&gt;<BR>&lt;/form&gt;<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 3: create a python script called "init" in the "reproducingError" 
folder with the following content:<BR>"<BR># init script<BR>sessionData = 
container.REQUEST.SESSION<BR>sessionData.set("userId", 
container.REQUEST.user)</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
return context.init2_html()<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 4: create a page template called "init2_html" in the "reproducingError" 
folder with the following content:<BR>"<BR>&lt;!-- init2_html page template 
--&gt;<BR>&lt;a href="init2"&gt;passing face 2&lt;/a&gt;<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 5: create a python script called "init2" in the "reproducingError" 
folder with the following content:<BR>"<BR># init2 script<BR>request = 
context.REQUEST<BR>sessionData = request.SESSION</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
sessionData.set('idService', 'testService')</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
context.first()<BR>return context.external(context)<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 6: create a page template called "first_html" in the "reproducingError" 
folder with the following content:<BR>"<BR>First Response<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 7: create a python script called "first" in the "reproducingError" 
folder with the following content:<BR>"<BR># first script<BR>response = 
container.REQUEST.RESPONSE<BR>str = container.first_html()<BR>
response.write(str)<BR>response.flush()<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 8: create an external method called "external" in the 
"reproducingError" folder with the following content, in where the function 
of the external method is "communicationResponse" and the module is any name 
that you give to the file:<BR>"<BR># external method<BR>import time</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
def communicationResponse(context):</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;&nbsp;&nbsp; response = context.REQUEST.RESPONSE<BR>&nbsp;&nbsp;&nbsp; 
sessionData = context.REQUEST.SESSION<BR>&nbsp;&nbsp;&nbsp; strDetailEnd = 
"&lt;script&gt;window.location='reproducingError/end'&lt;/script&gt;"<BR>
&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; for item in range(1, 40):<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; time.sleep(3)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.write("Response 
iteration:" + str(item))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
response.flush()</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;&nbsp;&nbsp; response.write(strDetailEnd)<BR>&nbsp;&nbsp;&nbsp; 
response.flush()<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 9: create a python script called "end" in the "reproducingError" folder 
with the following content:<BR>"<BR># end script<BR>idService = 
context.REQUEST.SESSION['idService']</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
return "Fin - " + idService<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 10: open two explorer in wich call the object "reproducingError" 
(Example: localhost:8080/reproducingError)</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 11: enter an example text in each one.</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Step 12: clink in the link of one of them, and 5 second later clink on the 
link of the other explorer. The waiting for around 5 second is necesary 
because with other time interval not allways get the error.</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Stpe 13: and wait the "Response iteration"...&nbsp; Please if the error 
don't appear in any of the pages, begins at Step 9 again. and try to count 
to 5 witch other velocity :)</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
The correct result is:<BR>"<BR>Fin - testService<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
The error is:<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Site Error<BR>An error was encountered while publishing this resource. </DIV>

<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Error Type: KeyError<BR>Error Value: 'idService'<BR>"<BR>The traceback:<BR>
"<BR>Traceback (innermost last):<BR>&nbsp; Module ZPublisher.Publish, line 
101, in publish<BR>&nbsp; Module ZPublisher.mapply, line 88, in mapply<BR>
&nbsp; Module ZPublisher.Publish, line 39, in call_object<BR>&nbsp; Module 
Shared.DC.Scripts.Bindings, line 306, in __call__<BR>&nbsp; Module 
Shared.DC.Scripts.Bindings, line 343, in _bindAndExec<BR>&nbsp; Module 
Products.PythonScripts.PythonScript, line 323, in _exec<BR>&nbsp; Module 
None, line 2, in end<BR>&nbsp;&nbsp; - &lt;PythonScript at 
/approach/reproducingError/end&gt;<BR>&nbsp;&nbsp; - Line 2<BR>&nbsp; Module 
AccessControl.ZopeGuards, line 67, in guarded_getitem<BR>&nbsp; Module 
Products.Transience.TransientObject, line 176, in __getitem__<BR>KeyError: 
'idService'<BR>"</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">I 
will appreciate if you try until the error appear, because I not always 
obtain the error. I thinks that it is bacause the time interval between the 
two request.</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">A 
curious thing is that when I obtain the error, if I wait around 15 second 
and refresh the page in wich i obtain the error, the correct result appear.. 
and no errors come.</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Sorry for the extended message, but I need any help that you can give me, 
because this describe error environment imitate a funcionality that I must 
give in a system very import that i'm doing.</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
I'm using Zope 2.7.6 for Windows.</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
&nbsp;</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Thanks in advanced.</DIV>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: tahoma; BACKGROUND-COLOR: white">
Leticia</DIV>
</BODY></HTML>