01-09-2014 4:53 PM
Hello SCN experts,
I am working on a rollout of SAP GUI 7.30 to OS X Mountain Lion and am having issues getting SSO to work. I have been able to install the GUI and logon to systems successfully with username and password. I need to get SSO working as password logon will be unacceptable for our users. My problem is finding a library that will work as expected.
I have tried using the Kerberos library that is packaged on OS X without success. This solution did not help, http://scn.sap.com/thread/2011188. Each time I open SAP GUI using this library the application simply crashes. Any search online so far has not helped to resolve this issue. I am hoping that someone here has had experience getting Kerberos SSO working on SAP GUI 7.30 for Java on OS X Mountain Lion.
01-10-2014 12:58 PM
01-10-2014 6:39 PM
Hi Rolf,
Thank you for your reply, the thread you referred me to is very informative. However I am still unable to get SSO working using Benjamin's library. I get the error he referenced as an outstanding error http://scn.sap.com/message/14348274#14348274, and I am not sure how to correct that. I have tried with multiple revisions (rev2, 4, and 6) of SAP GUI for Java with the same results. Below is the full text of the error.
I do understand that there is no support for Kerberos on OS X, just trying to make my users lives easier.
<SID>: Connection failed
Error: GSS-API(maj): Miscellaneous failure (see text)
GSS-API(min): End of file
target="p:SAPService<SID>@<DOMAIN>"
Fri Jan 10 10:17:50 2014
Release 720
Component SNC (Secure Network Communication), version 6
rc = -4, module sncxxall_mt.c, line 3352
Detail SncPEstablishContext
System Call gss_init_sec_context
Technical Details
java.lang.Exception: Error: GSS-API(maj): Miscellaneous failure (see text)
GSS-API(min): End of file
target="p:SAPService<SID>@<DOMAIN>"
Fri Jan 10 10:17:50 2014
Release 720
Component SNC (Secure Network Communication), version 6
rc = -4, module sncxxall_mt.c, line 3352
Detail SncPEstablishContext
System Call gss_init_sec_context
at:
com.sap.platin.r3.protocol.ni.GuiNiNetConnection.processOpenRequest(GuiNiNetConn
ection.java:328)
at:
com.sap.platin.r3.protocol.ni.GuiNiNetConnection.handleOpenRequest(GuiNiNetConne
ction.java:157)
at:
com.sap.platin.base.connection.GuiConnection.processCreateReply(GuiConnection.jav
a:523)
at:
com.sap.platin.base.connection.GuiConnection.handleCreateReply(GuiConnection.java
:496)
at:
com.sap.platin.r3.protocol.ni.GuiNiNetConnection.handleCreateRequest(GuiNiNetConn
ection.java:147)
at: com.sap.platin.base.connection.GuiConnection.open(GuiConnection.java:320)
at:
com.sap.platin.base.application.GuiApplication.createConnection(GuiApplication.java:9
72)
at: com.sap.platin.base.logon.GuiLogon.doConnect(GuiLogon.java:415)
at: com.sap.platin.base.logon.GuiLogon$Handler.mouseClicked(GuiLogon.java:2716)
at: java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at: java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
at: java.awt.Component.processMouseEvent(Component.java:6508)
at: javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at: java.awt.Component.processEvent(Component.java:6270)
at: java.awt.Container.processEvent(Container.java:2229)
at: java.awt.Component.dispatchEventImpl(Component.java:4861)
at: java.awt.Container.dispatchEventImpl(Container.java:2287)
at: java.awt.Component.dispatchEvent(Component.java:4687)
at: java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at: java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)
at: java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at: java.awt.Container.dispatchEventImpl(Container.java:2273)
at: java.awt.Window.dispatchEventImpl(Window.java:2719)
at: java.awt.Component.dispatchEvent(Component.java:4687)
at: java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at: java.awt.EventQueue.access$200(EventQueue.java:103)
at: java.awt.EventQueue$3.run(EventQueue.java:694)
at: java.awt.EventQueue$3.run(EventQueue.java:692)
at: java.security.AccessController.doPrivileged(Native Method)
at: java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at: java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at: java.awt.EventQueue$4.run(EventQueue.java:708)
at: java.awt.EventQueue$4.run(EventQueue.java:706)
at: java.security.AccessController.doPrivileged(Native Method)
at: java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at: java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at: com.sap.platin.micro.event.GuiEventQueue.dispatchEvent(GuiEventQueue.java:79)
at:
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:24
2)
at: java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at:
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:15
0)
at: java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at: java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at: java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
caused by : java.io.IOException
java.io.IOException
at: com.sap.platin.r3.protocol.ni.JniAgComAdaptor.connect(JniAgComAdaptor.java:45)
at:
com.sap.platin.r3.protocol.ni.GuiNiNetConnection.processOpenRequest(GuiNiNetConn
ection.java:287)
at:
com.sap.platin.r3.protocol.ni.GuiNiNetConnection.handleOpenRequest(GuiNiNetConne
ction.java:157)
at:
com.sap.platin.base.connection.GuiConnection.processCreateReply(GuiConnection.jav
a:523)
at:
com.sap.platin.base.connection.GuiConnection.handleCreateReply(GuiConnection.java
:496)
at:
com.sap.platin.r3.protocol.ni.GuiNiNetConnection.handleCreateRequest(GuiNiNetConn
ection.java:147)
at: com.sap.platin.base.connection.GuiConnection.open(GuiConnection.java:320)
at:
com.sap.platin.base.application.GuiApplication.createConnection(GuiApplication.java:9
72)
at: com.sap.platin.base.logon.GuiLogon.doConnect(GuiLogon.java:415)
at: com.sap.platin.base.logon.GuiLogon$Handler.mouseClicked(GuiLogon.java:2716)
at: java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at: java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
at: java.awt.Component.processMouseEvent(Component.java:6508)
at: javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at: java.awt.Component.processEvent(Component.java:6270)
at: java.awt.Container.processEvent(Container.java:2229)
at: java.awt.Component.dispatchEventImpl(Component.java:4861)
at: java.awt.Container.dispatchEventImpl(Container.java:2287)
at: java.awt.Component.dispatchEvent(Component.java:4687)
at: java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at: java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)
at: java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at: java.awt.Container.dispatchEventImpl(Container.java:2273)
at: java.awt.Window.dispatchEventImpl(Window.java:2719)
at: java.awt.Component.dispatchEvent(Component.java:4687)
at: java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at: java.awt.EventQueue.access$200(EventQueue.java:103)
at: java.awt.EventQueue$3.run(EventQueue.java:694)
at: java.awt.EventQueue$3.run(EventQueue.java:692)
at: java.security.AccessController.doPrivileged(Native Method)
at: java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at: java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at: java.awt.EventQueue$4.run(EventQueue.java:708)
at: java.awt.EventQueue$4.run(EventQueue.java:706)
at: java.security.AccessController.doPrivileged(Native Method)
at: java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at: java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at: com.sap.platin.micro.event.GuiEventQueue.dispatchEvent(GuiEventQueue.java:79)
at:
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:24
2)
at: java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at:
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:15
0)
at: java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at: java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at: java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Thanks,
Derek
01-10-2014 8:10 PM
Hi Derek,
I don't think this is related to my shim code -- basically, my shim code is just responsible for avoiding the crashes that you were seeing previously; it is unlikely to be generating new SAP-level errors/tracebacks on its own.
The interesting/useful part of the error message is the GSS-API(min) entry, "End of file". This is reporting back from some system call that reached the end of a file or other object before it expected to. I wouldn't expect to get this error if (say) sncgss.dyld was a zero-length file, but there might be some other zero-length or truncated files floating around, perhaps configuration files.
I don't have any other particular suggestions to try, but good luck in your efforts.
-Ben
01-10-2014 10:26 PM
Thank you for your reply and suggestion, Ben!
I will investigate futher and post results if/when I can get past this error.
Derek