Skip to Content
0
Former Member
Mar 18, 2011 at 01:25 AM

Java App from SAP Portal - SSO2Ticket call - java.lang.UnsatisfiedLinkError

215 Views

Hi

I am facing a problem in trying to call a java application from SAP portal.

*Cause:*

This java application is built on Unix (AIX) server. Previously it was running fine. Then there is a Tech Upgrade on SAP side in our company. After that I have been told to test whether the Java Application is getting called correctly or not.

Error:

I am getting the below error

java.lang.UnsatisfiedLinkError: com/mysap/sso/SSO2Ticket

Also when I am checking the log entry all I am able to see, there is error in SSO2Ticket.verify() method and the error is

Error during initialization of SSO2TICKET; com/mysap/sso/SSO2Ticket.init(Ljava/lang/String;);

Effort:

I checked all possible aspects what ever came to my mind and found in this forum so far.

1. com/mysap/sso this package is there.

2. SSO2TICKET class defined in that package

3. The JAVA_HOME and CLASSPATH are defined correctly ( I guess so)

4. Even the "libsapsecu.o" file is present

I am not sure why still this error is coming. Am I missing something here? Or what ever I have mentioned above 1-4 I am not getting them correctly.

I am new to this kind of native call technology. Please help me on this.

My concerns are :

1. Is the package com/mysap/sso should be in a specific location, which I am missing.

2. Do I need to revisit my CLASSPATH set up for JAVA?

3. Is any change required to the libsapsecu.o file?

4. Most of all what on earth can I do to overcome this?

5. After Tech upgrade do they need to do some sort of thing to make the Java native call available, which they might have missed? Does any one aware of any such thing?

Please let me know the answer asap.

Thanks

Santanu

Code:

I am also attaching the code snippet from JAVA

public class SSO2Ticket {

static {

if (System.getProperty("os.name").startsWith("Win")) {

SECLIBRARY = "sapsecu.dll";

} else {

SECLIBRARY = "libsapsecu.o";

}

try {

logger.debug("java.library.path - "+System.getProperty("java.library.path"));

System.loadLibrary(SSO2TICKETLIBRARY);

logger.debug("SAPSSOEXT loaded.");

} catch (Throwable e) {

System.out.println("Error during initialization of SSO2TICKET:\n"+ e.getMessage());

logger.error("Error during initialization of SSO2TICKET:\n"+ e.getMessage());

}

}

public static synchronized String[] verify(String ticket, String pathToPSE) throws LogonTicketException

{

//System.out.println("Ticket: "+ticket);

//System.out.println("PSE: "+pathToPSE);

logger.debug("Ticket: "+ticket);

logger.debug("PSE: "+pathToPSE);

String[] ticketContent = null;

logger.debug("The value for initialized is -


>"+initialized);

try {

init(SECLIBRARY);

} catch (Throwable e) {

logger.error("Error during initialization of SSO2TICKET:\n"+ e.getMessage());

}