i am using curl with basic-auth and this seems to work for me:

curl -v -u _SYSTEM:<password> http://localhost:<port>/playground/index

Every request results in new session. The same for logout request.

I assume that the client browser remains the first http-basic-auth credentials and reusing it for the second (logout) request as well.

If i skip the basic-auth in curl request for the logout i will get 401 Unauthorized which is expected.


how did you login? Do you use url-name/value params or http-basic-authentication with the first initial request?

Can you log/check %session.SessionId and %session.NewSession?

Hi Nikita,

do you've tried Set %session.EndSession=1 in your Logout()?


on Unix and Windows you can use PIPES:

s prog="whoami",oldIO=$IO open prog:"QR" use prog read result c prog use oldIO w !,result

if you already have pcl documents available, then probably using 3rd party pcl to pdf converter command-line tool would be the easiest solution for you. You can use $ZF(-1, <oscommand>) call-out from within COS to invoke conversion process.

(for example: VeryPDF PCL Converter, etc.)


Hi Peter,
this is very specific issue and hard to say with the information you've provided so far.
Are you sure this is related to Zen/Caché/CSPGateway and not a client-browser issue?

We need more information on this for a further investigation.

What changes are made that makes it stop working?

What client-browser/version you are using, what Caché version on server?

I assume you are using an "old" IE version, right?

The navigation to the #2 page called from #1 does work and loaded correctly?
Only the DXImageTransform did not work as expected in that case?
Calling #2 directly makes it working?

Did you try using IE-Developer-Tools (F12) to inspect and compare page-source and component loadings of both?
Any errors in the console, etc.?

Maybe it's better for you to report this in the WRC, so that support can continue with you on this!?


yes, with the html5 type $input layout object you have to add onkeypress:true to it in order that onevent() gets triggered.

And in onevent(eventType,key,value,docViewId,event), you can do for example :

//$input onkeypress:true
if (eventType == 'keypress') {
  var keyCode = event.keyCode || event.which;
  console.log('keyCode :' + keyCode);  
  if (keyCode == '13') {
    // Enter pressed -> Do something



starting with ZM 1.1.1 the "event" object is now passed to all event-handlers (unselect/onevent/onchange) as the optional last argument. User could now make use of it in their template client methods if needed (e.x. handle propagation-related issues, etc.)

This is missing in the documentation so far but is already addressed to be added shortly.



Hi, you can use CSPGateway event-log to log request- and response content coming through and from the server.

 Since REST is coming through http you can also use any external network trace tool like tcpdump, wireshark, fiddler, etc.

To test REST services you can use Curl command-line tool or ARC (Advanced REST Client) chrome extension, etc.