cancel
Showing results for 
Search instead for 
Did you mean: 

JRA in EJB

Former Member
0 Kudos

Hi All,

I am using JRA to access BAPI from EJB. I have written following code to get connection of JRA.

<b>InitialContext initialcontext = new InitialContext();

connectionFactory = (ConnectionFactory) initialcontext.lookup(CONN_FACTORY_NAME);

connection = connectionFactory.getConnection();</b>

When I run my jsp page I get the following error.

<b>Application error occurred during request processing.

Details: com.sap.engine.services.ejb.exceptions.BaseEJBException: Exception in method getData.

</b>

While debugging I observed that I am getting this error because of

connection = connectionFactory.getConnection(); this line of code.

Can any body help me out. Its really urgent.

I am using NWDS7.0

I will assign points to correct answer.

cheers

Jayant

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

HI Can you elobarate a bit on the question

Former Member
0 Kudos

HI

It seems to be a configuration problem now. Please rechek the configuration for the SAP system which you have specified for the Resource Adapter

Regards

Jithin

Former Member
0 Kudos

Hi Jithin,

Ok I will do that. Between Is it necessary that login id and password that we give in pop for JRAAuthentication and loginid and password of SAP backend system that we are accessing is same.

Former Member
0 Kudos

Yes, the userid/passwords must match; however, if you've enabled single sign on between the two systems, that can work as well. This can be configured via the deploy tool when you create the JRA configuration.

If you're using a service user, then you must enter that user id and password.

Verify that the credentials you have are correct by trying to sign into the target R/3 system. If you can sign in (even if you can't open a dialog), you'll at least know that the credentials are correct.

Former Member
0 Kudos

Hi,

I am still getting the same error as above. I created a user in J2ee application server whose userid and password is same as that of backend SAP system. But still i am getting the same error.

In configuration of backend SAP system for JRA what should be the value of port number. Where can I get port number for backend(Which is the transaction for that)? I think there are two port numbers SMTP and Http which should be used?

Please help me out.

Former Member
0 Kudos

http://help.sap.com/saphelp_nw04/helpdata/en/87/a589426ea36255e10000000a155106/content.htm

refer link to understand the what port means here.

and you need not create any users on the J2EE stack. this is the user which can access the R/3 system and has appropriate rights to execute RFC using JCo. Nothing to do with users on the J2EE engine / app server.

Former Member
0 Kudos

HI

As Amol had said cn u plz post the relevant defaultstack trace

Please use the following details to configure your connection factory for tracing

AbapDebug = TRUE

Trace = TRUE

TraceRFC = TRUE

TraceJCO = TRUE

TraceJRA = TRUE

Former Member
0 Kudos

HI Jithin/Amol,

I solved above error. There was a problem in JNDI. But now I am getting following error.

<b>Bean FlightCustomer returned error message: Connection to ABAP System could not be opened, because the Connection Factory returns "Couldn't create ManagedConnection with . {jco.client.passwd=****, jco.client.lang=EN, jco.client.sysnr=26, jco.client.client=000, jco.client.ashost=host name, jco.client.user=userid, jco.client.type=A, jco.client.jra_conn=true}". Please check the connection defined for the Connection Factory of the Java Resource Adapter with JNDI name eis/SAPJRADemoFactory.</b>

My JNDI name is eis/SAPJRAFactory.

Please help me.

Cheers

Jayant

Former Member
0 Kudos

Hi,

If you are using the tutorial dealing with BAPIs and JRA, you may considering two things :

When you are deploying your instance : in Server Settings / Additional Settings, check the JNDI name of your instance, by default eis/SAPJRAFactory

In EJB's project, reference to JNDI name is eis/SAPJRADemoFactory.

So you have to modify the default JNDI name in DeployTool to conform with the EJB project.

Hope, it will help you.

Regards

Alain

Former Member
0 Kudos

Hi All,

I think I have given wrong parameters while deploying sapjra.rar.

I am using deploy tool to deploy sapjra. What I have done is when I selected sapjra.rar for deployment then in <b>Deployer tab->Server Sttings->Identity Subjects I have given Auth type as Caller Impersonation</b>. This was the cause of error. In Caller Imperonation J2EE user data is used to log on to R3 system. In my J2EE application I have changed resource autth. as Application previously it was Container.

Now what I want is I dont want Auth type as Caller Impersonation. JRA should use login id and passward from properties that we specify in sapjra for SAP r3 system. But I am not able to change this Auth type. Do I have to uninstall this sapjra and again install it, and if yes how to uninstall it.

I got the mistake that I have done but I am not getting how to correct it.

Can anybody help me?

cheers

jayant

Former Member
0 Kudos

I guess you should be able to change every property configured from Visual administrator.

Former Member
0 Kudos

check the defaultTrace file for J2EE engine for your detailed stack trace.

meanwhile, reasons for getting errors at getConnection could be

1. Incorrect settings for the connection factory in Visual admin after JRA is deployed.

2. The connection factory is not started when getConnection is attempted.

Former Member
0 Kudos

Can you please confirm if you are passing the correct JNDI name or not

Former Member
0 Kudos

Hi Jithin,

I am passing correct JNDI name.