cancel
Showing results for 
Search instead for 
Did you mean: 

how to create a logon ticket via Java?

Former Member
0 Kudos

Hi all,

I need to create a SAP logon ticket programmatically. Do you have some useful documntations or links?

Thanks.

Vito

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

HI

GOOD

GO THROUGH THE FOLLOING LINKS

/people/sap.user72/blog/2004/10/25/sap-logon-ticket-based-single-sign-on

/people/siddhartha.jain/blog/2005/10/25/reading-netweaver-portal146s-logon-ticket-147mysapsso2148-cookie-in-bsp-applications

http://help.sap.com/saphelp_erp2005/helpdata/en/af/0489ce55002f44a8c927371bedf719/content.htm

THANKS

MRUTYUN

Former Member
0 Kudos

Hi,

links you posted not coherent with what I need.

I have a J2EE application running on WebSphere environment. The application calls some external BSP via HTTP links (the BSPs are on the SAP abap AS).

I want to implement the single sign-on between the application on WebSphere environment and abap stack, in this way the use must logon only for application and no logon is required when he clicks on the link for BSP.

What I need is to create a logonticket in the java application (WebSphere) and pass it to abap system.

Do you know how is possible to implement this solution? There are others solutions around?

I know the issue is a quite complex, so I will appreciate a lot for your suggestions and help.

Thanks,

Vito

Former Member
0 Kudos

Hi Vito,

Did you find way to create sso ticket from external J2ee application? I have similar problem and looking for a solution.

Thanks in advance,

Igor

Former Member
0 Kudos

Hi,

Let me understand this. Do you want to write your own java code to create tickets right. If that's the case, can you tell me how are you authenticating users on your end. I know WebSphere you can plugin your jaas module to authenticate and create tickets. You can also call 3rd party api's to create these tickets with in your custom module. This ticket is passed on to ABAP stack. I hope I answered your questions.

thanks,

Joe.P

Former Member
0 Kudos

try this, may be it will help you.

/**

  • Example1.java - call the rfc module 'STFC_CONNECTION' with custom definition

  • of function metadata. Please notice, the communication with static

  • metadata interface definitions is dangerous. The inconsistencies in the

  • interface definitions may cause corrupted data, errors while communication or

  • even application crashes. In Example2 you can see, how to avoid these problems.

*

  • Property of SAP AG, Walldorf

  • (c) Copyright SAP AG, Walldorf, 2000-2003.

  • All rights reserved.

*/

import com.sap.mw.jco.*;

/**

  • Example1 - start a simple call with static metadata definition

*

  • @version 1.0

  • @author SAP AG, Walldorf

*/

public class Example1 {

public static void main(String[] argv)

{

JCO.Client client = null;

try {

// Print the version of the underlying JCO library

System.out.println("\n\nVersion of the JCO-library:\n" +

"----


\n" + JCO.getMiddlewareVersion());

// Create a client connection to a dedicated R/3 system

client = JCO.createClient( "clientnum", // SAP client

"JOHN", // userid

"SMITH", // password

"EN", // language

"111.111.11.51", // host name

"00" ); // system number

// Open the connection

client.connect();

// Get the attributes of the connection and print them

JCO.Attributes attributes = client.getAttributes();

System.out.println("Connection attributes:\n" +

"----


\n" + attributes);

boolean is_backend_unicode = attributes.getPartnerCodepage().equals("4102") ||

attributes.getPartnerCodepage().equals("4103");

// Create metadata definition of the input parameter list

JCO.MetaData input_md = new JCO.MetaData("INPUT");

input_md.addInfo("REQUTEXT", JCO.TYPE_CHAR, 255, 255 * (is_backend_unicode? 2 : 1 ),

-1, 0, null, null, 0, null, null);

// Create the input parameter list from the metadata object

JCO.ParameterList input = JCO.createParameterList(input_md);

// Set the first (and only) input parameter

input.setValue("This is my first JCo example.", "REQUTEXT");

// Create metadata definition of the output parameter list

JCO.MetaData output_md = new JCO.MetaData("OUTPUT");

// Specify the parameters types of the function will be returned

output_md.addInfo("ECHOTEXT", JCO.TYPE_CHAR, 255, 255 * (is_backend_unicode? 2 : 1 ),

-1, 0, null, null, 0, null, null);

output_md.addInfo("RESPTEXT", JCO.TYPE_CHAR, 255, 255 * (is_backend_unicode? 2 : 1 ),

-1, 0, null, null, 0, null, null);

// Create the output parameter list from the metadata object

JCO.ParameterList output = JCO.createParameterList(output_md);

// Call the function

client.execute("STFC_CONNECTION", input, output);

// Print the result

System.out.println("The function 'STFC_CONNECTION' returned the following parameters:\n" +

"----


");

for (int i = 0; i < output.getFieldCount(); i++) {

System.out.println("Name: " + output.getName(i) + " Value: " + output.getString(i));

}//for

// All done

System.out.println("\n\nCongratulations! It worked.");

}

catch (Exception ex) {

System.out.println("Caught an exception: \n" + ex);

}

finally {

// do not forget to close the client connection

if (client != null) client.disconnect();

}

}

}

Former Member
0 Kudos

Hi Aiay,

could you explain me better what means the code you posted? Does it implements the single sign-on? Where have I to insert the address that point to external BSP??

Thanks in advance,

Vito

Former Member
0 Kudos

HI Vito Palasciano,

I would be easyier for all to help you if you can explain your senario.

Former Member
0 Kudos

I have a J2EE application that contains some links to externeal BSPs.

J2EE application (J2ee stack) -


> BSP (abap stack)

Now I have configured the abap stack to receives logon ticket, the J2EE stack is the issuer. That's ok.

I want to create a logon ticket programmatically inside my J2EE application in order to activate the SSO, and don't ask the user a second authentication to abap system.

I hope this sounds clear. Thanks in advance for your help.

Vito