Troubleshoot #2

I just recently had a case on a customer site where their SAPJCo interface stopped working after the production or system gets restarted. This always results in the following error:

ERROR#5023: Java-Gateway-Error: java.lang.ClassNotFoundException ...

In order to make this working again, the sapjco3.jar and BAPI's always needs to imported/generated again.

The reason for this was, that using the SAPJCo installation/import webpage is setting and using the Class Path from the jar file during the import, but restarting production or system makes the production/service forget about it.

Solution: What's missing here is that in the EnsLib.JavaGateway.Service of the production the "Class Path" needs to be specified in the "additional settings" as well to the full-path reference to the sapjco3.jar.

With that setup in place, production and system could now be restarted without affecting the SAPJCo interface.

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.

HTH,
Bernd

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!?

Regards,
Bernd

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
    zenPage.doSomething(value);
  }
}

HTH,
Bernd