cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to log on to the BIBO server using JAVA SDK

Former Member
0 Kudos

Hi ,

I trying to logon to BIBO server uisng JAVA SDK server But I am getting getting .Please help me out regarding this.

Code :

String systemName = "@cms name";

           String userName = "****";

           String password = "***";

           String authType = "secEnterprise";

  

           IEnterpriseSession enterpriseSession=null;

           System.out.println("In sample application ");

           if (enterpriseSession == null)

           {

           System.out.println("Before getting conncted ..... ");

           ISessionMgr enterpriseSessionMgr = CrystalEnterprise.getSessionMgr();

            

            enterpriseSession = enterpriseSessionMgr.logon(userName, password, systemName, authType);

            System.out.println("Enterprise Manager : " + enterpriseSession);

  

           }

Error :

com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$ServiceConnection: Unable to connect to service  from server  via CMS  (FWM 01006)

  at com.crystaldecisions.enterprise.ocaframework.ServerController.redirectServer(ServerController.java:561)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.redirectServer(ServiceMgr.java:933)

  at com.crystaldecisions.enterprise.ocaframework.ManagedSessions.get(ManagedSessions.java:254)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService_aroundBody4(ServiceMgr.java:516)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService(ServiceMgr.java:1)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.ensureServiceStub(LogonService.java:643)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:814)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:208)

  at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:203)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:457)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody1$advice(SessionMgr.java:512)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)

  at com.sap.bibo.service.SampleService.main(SampleService.java:27)

I tried by changing cms name in different ways, so how can I resolve this. How can i get the correct "cms name".

Thank you.

Regards

Vijay

Accepted Solutions (1)

Accepted Solutions (1)

DellSC
Active Contributor
0 Kudos

The first time that you log in from any machine through the SDK, you  should use the server name.  This will set up a registry entry for the cluster so that subsequent log-in's can use the cluster name instead.

Or you could set up the entry manually using Regedit.

32-bit app on 32-bit machine or 64-bit app on 64-bit machine:

[HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Suite XI 4.0\Enterprise\CMSClusterMembers]

32-bit app on 64-bit machine:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP BusinessObjects\Suite XI 4.0\Enterprise\CMSClusterMembers]

The Key to add looks like this:

"<cluster name>"="<Semi-colon delimited list of server names with ":6400" (or other CMS port) on the end of each name>"

-Dell

Former Member
0 Kudos

Hi Dell,

Thanks for your reply.

Actually server is installed in another system. I am trying to connect to the server from a different system, both are in same network.

In the developer guide it specifying that we can log on to the system using statement :

IEnterpriseSession enterpriseSession = sessionManager.logon("username", "password", "<cms>:<port>", "secEnterprise");

From the Central management console, in settings I got the following details.

CMS Name:ERPBOP.CentralManagementServer (ERPBOP.xxx:6400)
Cluster Name:@ERPBOP.xxx:6400
Cluster Members:ERPBOP.CentralManagementServer (ERPBOP.xxx:6400)

So when I used the above details in connecting with the server I am getting the following errors :

enterpriseSession = enterpriseSessionMgr.logon(userName, password, systemName, authType);

1)   when I am using systemName = ERPBOP.xxx:6400

     Error :

com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$NotFoundInDirectory: Server ERPBOP.xxx:6400 not found or server may be down (FWM 01003)

cause:java.net.ConnectException: Connection refused: connect

detail:Server ERPBOP.xxx:6400 not found or server may be down (FWM 01003) Connection refused: connect

  at com.crystaldecisions.enterprise.ocaframework.RawSocketDirectory.find(RawSocketDirectory.java:237)

  at com.crystaldecisions.enterprise.ocaframework.APSServerHandler.buildBootstrapAPSInfo(APSServerHandler.java:256)

  at com.crystaldecisions.enterprise.ocaframework.APSServerHandler.buildAPSClusterInfo(APSServerHandler.java:514)

  at com.crystaldecisions.enterprise.ocaframework.APSServerHandler.buildServerInfo(APSServerHandler.java:192)

  at com.crystaldecisions.enterprise.ocaframework.ServerController.redirectServer(ServerController.java:531)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.redirectServer(ServiceMgr.java:933)

  at com.crystaldecisions.enterprise.ocaframework.ManagedSessions.get(ManagedSessions.java:254)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService_aroundBody4(ServiceMgr.java:516)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService(ServiceMgr.java:1)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.ensureServiceStub(LogonService.java:643)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:814)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:208)

  at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:203)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:457)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody1$advice(SessionMgr.java:512)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)

  at com.sap.bibo.service.SampleService.main(SampleService.java:26)

Caused by: java.net.ConnectException: Connection refused: connect

  at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)

  at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75)

  at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337)

  at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198)

  at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)

  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)

  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)

  at java.net.Socket.connect(Socket.java:579)

  at com.crystaldecisions.enterprise.ocaframework.RawSocketDirectory.find(RawSocketDirectory.java:194)

  ... 16 more

2) When I am using systemName = @ERPBOP.xxx:6400

Error :

com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$ServiceConnection: Unable to connect to service  from server  via CMS  (FWM 01006)

  at com.crystaldecisions.enterprise.ocaframework.ServerController.redirectServer(ServerController.java:561)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.redirectServer(ServiceMgr.java:933)

  at com.crystaldecisions.enterprise.ocaframework.ManagedSessions.get(ManagedSessions.java:254)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService_aroundBody4(ServiceMgr.java:516)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService(ServiceMgr.java:1)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.ensureServiceStub(LogonService.java:643)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:814)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:208)

  at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:203)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:457)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody1$advice(SessionMgr.java:512)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)

  at com.sap.bibo.service.SampleService.main(SampleService.java:40)

Please help me how can I resolve these errors.

Thank you.

Regards

Vijay

Former Member
0 Kudos

Hi Vijay,

The first method is the right way to connect to CMS from a java application.
The exception you are getting states that there is a connectivity problem between the two machines.

You may want to check

1. Is there a firewall between you app server machine and BO server?

2. If yes, are you able to connect when firewall is turned off?(Consider windown firewall as well in case of windows system)

3. Do a network trace and the viable solution would be to configure the ports and open them for a two way communication over the firewall.

You could find the relavent information about configuring BO server ports over a firewall from admin guide which you can find at help.sap.com

Thanks,

Prithvi

Former Member
0 Kudos

Hi Prithvi,

I verified in my system, fire wall is off. But still I am getting Error. Do I need to add the port even when the fire wall is off.

Thanks

Vijay

Former Member
0 Kudos

Hi Vijay,

Are you talking about windows firewall? Please confirm with the network team if there is a firewall over the network.

Also, try to ping the BO server machine from your application server machine. Ping using the hostname, ip address and FQDN and vice-versa.

Also telnet the BO server machine on port 6400 from your application server machine.

Thanks,

Prithvi

DellSC
Active Contributor
0 Kudos

Server name is the name of the server where the CMS is installed.  By default, the port is 6400 unless your BO admin has specifically changed it.

-Dell

Former Member
0 Kudos

Hi Prithvi,

I confirmed with admin that port 6400 is open.

I pinged the BO server machine using IP Address Its working fine.

But when I telnet the server machine using IP address on port 6400(telnet 192.168.1.30 6400), I am getting blank screen.

So what may be the problem in connecting to the BO server machine. I am getting the same problem while connecting with server using JAVA SDK. Please help me regarding this.

Thanks & Regards

Vijay

Former Member
0 Kudos

Hi Vijay,

Can you do the below

String systemName = "192.168.1.30:6400";

           String userName = "****";

           String password = "***";

           String authType = "secEnterprise";

In the system name, use the ip adress of your BO server machine along with port as shown above and try to connect. Let me know if it works. If not let me know the exception.

Thanks,

Prithvi


Former Member
0 Kudos

Hi Dell,

By previous posts I got the server information by doing below steps:

Information got from previous post

Log into the Central Management Console (CMS)

Go to Servers

Expand Core Services and expand the properties for the Central Management Server (You can see your server name)

But when I using server name to connect the server I am getting the error.

Please help me, I am unable understand what is the problem.

Regards

Vijay

Former Member
0 Kudos

Hi Vijay,

The server name in the login method should be the hostname of the machine where BO is installed. It is not the name which you see under CMC--> Servers

Thanks,

Prithvi

Former Member
0 Kudos

Hi Prithvi,

instead of host name can I use IP Address?

My Code:

public class SampleService {

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  String systemName = "192.168.1.30:6400";//"ERPBOP.erpanderp.com:6400";

        //String clusterName = "@ERPBOP.erpanderp.com:6400";

        String userName = "****";

        String password = "****";

        String authType = "secEnterprise";

        IEnterpriseSession enterpriseSession=null;

        ISessionMgr enterpriseSessionMgr = null;

  try{

  enterpriseSessionMgr = CrystalEnterprise.getSessionMgr();

           System.out.println("In sample application ");

           if (enterpriseSession == null)

           {

           System.out.println("Before getting conncted ..... ");

            enterpriseSession = enterpriseSessionMgr.logon(userName, password, systemName, authType);

            //enterpriseSession = enterpriseSessionMgr.logon(userName, password, clusterName, authType);

            System.out.println("Enterprise Manager : " + enterpriseSession);

 

           }

  }

  catch(Exception e){

  e.printStackTrace();

  /*try {

  enterpriseSession = enterpriseSessionMgr.logon(userName, password, clusterName, authType);

  } catch (SDKException e1) {

  // TODO Auto-generated catch block

  e1.printStackTrace();

  }*/

  }

  }

}

Error :

In sample application

Before getting conncted .....

com.crystaldecisions.enterprise.ocaframework.OCAFrameworkException$CommunicationError: Communication error occurred when trying to connect to server 192.168.1.30:6400 (FWM 01009)

cause:com.crystaldecisions.thirdparty.org.omg.CORBA.TRANSIENT: attempt to establish connection failed: java.net.ConnectException: Connection refused: connect  minor code: 0x4f4f0001  completed: No

detail:Communication error occurred when trying to connect to server 192.168.1.30:6400 (FWM 01009) attempt to establish connection failed: java.net.ConnectException: Connection refused: connect

  at com.crystaldecisions.enterprise.ocaframework.RawAPSDirectory.find(RawAPSDirectory.java:256)

  at com.crystaldecisions.enterprise.ocaframework.APSServerHandler.buildAPSClusterInfo(APSServerHandler.java:585)

  at com.crystaldecisions.enterprise.ocaframework.APSServerHandler.buildServerInfo(APSServerHandler.java:192)

  at com.crystaldecisions.enterprise.ocaframework.ServerController.redirectServer(ServerController.java:531)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.redirectServer(ServiceMgr.java:933)

  at com.crystaldecisions.enterprise.ocaframework.ManagedSessions.get(ManagedSessions.java:254)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService_aroundBody4(ServiceMgr.java:516)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getManagedService(ServiceMgr.java:1)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.ensureServiceStub(LogonService.java:643)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:814)

  at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:208)

  at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:203)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:457)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody1$advice(SessionMgr.java:512)

  at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)

  at com.sap.bibo.service.SampleService.main(SampleService.java:26)

Caused by: com.crystaldecisions.thirdparty.org.omg.CORBA.TRANSIENT: attempt to establish connection failed: java.net.ConnectException: Connection refused: connect  minor code: 0x4f4f0001  completed: No

  at com.crystaldecisions.thirdparty.com.ooc.OCI.IIOP.Connector_impl.connect(Connector_impl.java:167)

  at com.crystaldecisions.thirdparty.com.ooc.OB.GIOPClient.createTransport(GIOPClient.java:233)

  at com.crystaldecisions.thirdparty.com.ooc.OB.GIOPClientWorkersPool.next(GIOPClientWorkersPool.java:122)

  at com.crystaldecisions.thirdparty.com.ooc.OB.GIOPClient.getWorker(GIOPClient.java:105)

  at com.crystaldecisions.thirdparty.com.ooc.OB.GIOPClient.startDowncall(GIOPClient.java:409)

  at com.crystaldecisions.thirdparty.com.ooc.OB.Downcall.preMarshalBase(Downcall.java:181)

  at com.crystaldecisions.thirdparty.com.ooc.OB.Downcall.preMarshal(Downcall.java:298)

  at com.crystaldecisions.thirdparty.com.ooc.OB.PIDowncall.preMarshal(PIDowncall.java:198)

  at com.crystaldecisions.thirdparty.com.ooc.OB.DowncallStub.preMarshal(DowncallStub.java:265)

  at com.crystaldecisions.thirdparty.com.ooc.OB.DowncallStub.setupRequest(DowncallStub.java:545)

  at com.crystaldecisions.thirdparty.com.ooc.CORBA.Delegate.request(Delegate.java:556)

  at com.crystaldecisions.thirdparty.com.ooc.CORBA.Delegate.is_a(Delegate.java:373)

  at com.crystaldecisions.thirdparty.org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:88)

  at com.crystaldecisions.enterprise.ocaframework.idl.ImplServ.OSCAFactoryExHelper.narrow(OSCAFactoryExHelper.java:100)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getOSCAFactory_aroundBody8(ServiceMgr.java:546)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getOSCAFactory(ServiceMgr.java:1)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getUnmanagedService_aroundBody16(ServiceMgr.java:715)

  at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.getUnmanagedService(ServiceMgr.java:1)

  at com.crystaldecisions.enterprise.ocaframework.RawAPSDirectory.find(RawAPSDirectory.java:155)

  ... 15 more

Thanks

Vijay

Former Member
0 Kudos

You can use the ip address as well. Not an issue.

Can you do host file entries in the app server and BO server?

In the application server machine host file, do the entries of BO server and vice versa

Also make sure that you have only the jars from the current BO installation in your application context.

Make sure not have any conflicting jars.

Thanks,

Prithvi

Former Member
0 Kudos

Hi Prithvi,

After adding host file entries in the application server, now I am able to connect to the BO Server.

Thanks Prithvi, for your help

Regards

Vijay

Answers (0)