[SOLVED] WebFOCUS82 ReportCaster API (Legacy) Setup
We're upgrading from WebFOCUS81 to WebFOCUS82 we use ReportCaster on another Linux OS server where our ETL tool is installed. I notice the Legacy ReportCaster API setup is slightly different with 82 than 81 but the setup instructions are the same. For one, there's no "webconfig.xml" file per mentioned in the setup instructions. Anyone have experience configuring 8.2 for this? I'm getting an error "Login failed for user 'ReportCaster'" and without the webconfig.xml I don't know where it's getting the repository credentials. I have a support ticket open, but wanted to ask here as well for any personal experience findings. Thank You!
For example, I'm running this command from a command line...
I get a long error that contains messages like this...
quote:
java.lang.IllegalArgumentException: Connection to repository DB failed. Caused by: com.ibi.ibfs.error.IBFSException: Repository username or password is invalid Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.3.v20160428-59c81c5): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'ReportCaster'. Error Code: 18456
This message has been edited. Last edited by: FP Mod Chuck,
WebFOCUS 8.1, Linux
July 31, 2018, 09:14 AM
Aswin Ravikumar
quote:
java.lang.IllegalArgumentException: Connection to repository DB failed. Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'ReportCaster'.
Can you check if your 'Reportcaster' user's password is correct ?
Webfocus 8.1 Windows x64 Excel
July 31, 2018, 10:28 AM
gsbrown
Yes, the main Windows WebFOCUS82 server ReportCaster is working properly, so I'm certain the password is entered correctly. It's only on this remote Linux installation where we've copied the /ibi/WebFOCUS82 folder that I'm unsure where it's sourcing the ReportCaster credentials to ensure it's correct
WebFOCUS 8.1, Linux
July 31, 2018, 10:34 AM
gsbrown
Also, does version 8.2 utilize a "webconfig.xml" file, and if so how does that file get generated because currently I don't find it in the /ibi/WebFOCUS82 folder?
The only file I can find that contains the 'ReportCaster' login is the "install.cfg" file and the password is encrypted so I can't visually verify that it's correct
WebFOCUS 8.1, Linux
July 31, 2018, 11:18 AM
TobyMills
Hello Mr. Brown
In 82 I notice we seem to have a newer set of config files.
Look inside these 2 files (/ibi/WebFOCUS82/config/)
1) install.cfg (this is where your IBI_REPOS_DB_USER probably is). 2) webfocus.cfg
If you still have your older config folder, it's kind of educational to try to find where everything moved to. It's all still in there, just a different place and sometimes layout. For example, webfocus.cfg isn't .xml anymore. just name=value pairs are in there.
It seems like the defaults from your install time are in install.cfg and must get overridden by anything that might be in webfocus.cfg. Or so it appears. I haven't got to watch the traces real closely yet.
My encrypted password actually looks a little different now (compared to 8105m): IBI_REPOS_DB_PASSWORD=[AES128I].
Also check your IBI_REPOS_DB_URL to make sure your aiming at the SQL Server database you think you are.
Also, which 8.2 release are you on? There's a preference in 8203 for sqljdbc42.jar instead of plain ol sqljdbc4.jar:
Page 38 Note: Multiple builds of the sqljdbc4.jar driver are available. Some of these builds are not supported with WebFOCUS Release 8.2. It is recommended to use the latest version of sqljdbc4.jar, preferably sqljdbc41.jar or sqljdbc42.jar.
(page 37) Note: The latest version of sqljdbc4.jar or sqljdbc41.jar is required. sqljdbc42.jar is not supported.
We love WebFOCUS
July 31, 2018, 12:19 PM
gsbrown
Thanks for that detailed response! We're on 8.2 version 02 I switched to the newer JDBC software and dropped to "/opt/sqljdbc_4.1/enu/jre7/sqljdbc41.jar" and modified this script to point to that ==> "opt/ibi/WebFOCUS82/utilities/setenv/utiluservars.sh"
I copied these lines from "install.cfg" into "webfocus.cfg" IBI_REPOS_DB_USER=ReportCaster IBI_REPOS_DB_PASSWORD=[AES128I]fBY0k3hajTNyo1Ui%2BxbuBQ%3D%3D IBI_REPOS_DB_DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver IBI_REPOS_DB_URL=jdbc:sqlserver://ERPDB1V\SQL2016:1436;DatabaseName=ReportCaster82
I still get 'ReportCaster' login failed when I try running the sample program that should return a short list of scheduled report owners
******* S11_Get_OwnerList ***************** No bundle found log4j:WARN No appenders could be found for logger (stdout). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. java.lang.IllegalArgumentException: Connection to repository DB failed. at com.ibi.ibfs.util.IBFSEntityUtils.testAndReconnectDB(IBFSEntityUtils.java:235) at com.ibi.ibfs.IBFSService.loadCachedInfo(IBFSService.java:2656) at com.ibi.ibfs.IBFSService.getIBFSService(IBFSService.java:3123) at com.ibi.ibfs.IBFSService.getIBFSService(IBFSService.java:3067) at com.ibi.ibfs.IBFSService.getIBFSService(IBFSService.java:3199) at ibi.broker.api.CasterManagedConnectionFactory.(CasterManagedConnectionFactory.java:191) at Util.createCasterConnection(Util.java:52) at S11_Get_OwnerList.(S11_Get_OwnerList.java:30) at S11_Get_OwnerList.main(S11_Get_OwnerList.java:50) Caused by: com.ibi.ibfs.error.IBFSException: Repository username or password is invalid at com.ibi.ibfs.util.IBFSEntityUtils.getEMFactoryWithExceptions(IBFSEntityUtils.java:128) at com.ibi.ibfs.util.IBFSEntityUtils.getEMFactoryWithExceptions(IBFSEntityUtils.java:95) at com.ibi.ibss.dbdriver.IBSSEntityManager.getEMF(IBSSEntityManager.java:167) at com.ibi.ibss.dbdriver.IBSSEntityManager.getEM(IBSSEntityManager.java:156) at com.ibi.ibss.dbdriver.IBSSEntityManager.checkConnection(IBSSEntityManager.java:868) at com.ibi.ibfs.util.IBFSEntityUtils.testAndReconnectDB(IBFSEntityUtils.java:204) ... 8 more Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.3.v20160428-59c81c5): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'ReportCaster'. ClientConnectionId:09614e20-2646-4251-9f4b-7b08cb326bbd Error Code: 18456 at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:815) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:205) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:305) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:337) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:303) at com.ibi.dbmigration.application.ems.BaseEntityManager.initialize_int(BaseEntityManager.java:157) at com.ibi.dbmigration.persist.SourceVersionEntityManager.get(SourceVersionEntityManager.java:103) at com.ibi.dbmigration.migrator.DBVersionChecker.(DBVersionChecker.java:64) at com.ibi.dbmigration.migrator.DBVersionChecker.(DBVersionChecker.java:75) at com.ibi.ibfs.util.IBFSEntityUtils.checkDbVersions(IBFSEntityUtils.java:155) at com.ibi.ibfs.util.IBFSEntityUtils.getEMFactoryWithExceptions(IBFSEntityUtils.java:106) ... 13 more Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.3.v20160428-59c81c5): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'ReportCaster'. ClientConnectionId:09614e20-2646-4251-9f4b-7b08cb326bbd Error Code: 18456 at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:331) at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:326) at org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:138) at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:207) at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:760) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:265) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:731) ... 23 more Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'ReportCaster'. ClientConnectionId:09614e20-2646-4251-9f4b-7b08cb326bbd at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217) at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:251) at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:81) at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:3080) at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2361) at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:44) at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2347) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:6276) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1794) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1405) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1069) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:905) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:452) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1014) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:208) at org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:98) ... 28 more S11_Get_OwnerList FAILThis message has been edited. Last edited by: gsbrown,
WebFOCUS 8.1, Linux
July 31, 2018, 12:48 PM
gsbrown
Also, just as a test I modified the "webfocus.cfg" changing the 'ReportCaster' login to 'ReportCasterTest' expecting the error to change to "login failed for ReportCasterTest", but it still returned "login failed for ReportCaster"
I'm stumped as to where in the /ibi/WebFOCUS82 folder it's pulling the ReportCaster credentials
WebFOCUS 8.1, Linux
July 31, 2018, 01:12 PM
gsbrown
Here are the instructions I'm attempting to follow and get working. We have it currently working with WebFocus 8.1, but can't get it working with WebFocus 8.2 Version 2 https://webfocusinfocenter.inf.../pdfs2/rcapi8202.pdf
quote:
Running the Legacy Java API on a Machine Without a WebFOCUS Installation Note: This process requires that you have access to a WebFOCUS installation. You can run the Legacy Java API on a machine where WebFOCUS is not installed. In order to do this, you must copy configuration files from a machine where WebFOCUS is installed, and then make changes as defined in the procedure below. You can perform this process using a Windows installation. In WebFOCUS 8, the ReportCaster Legacy Java API calls the IBFS security system to authenticate and authorize users, and to secure resources accessed during schedule creation and execution. Therefore, any files needed by the IBFS security system must be available to an application calling the ReportCaster Legacy Java API. The sample scripts provided in the ibi \WebFOCUS82\ReportCaster\samples\tools directory are set up so that the sample API programs can be: Compiled from this directory by modifying the SamplesComp script. 2. ReportCaster Java API Samples ReportCaster Legacy API Developer's Reference 33 Run from this directory by modifying the setenv script. Note: The Legacy Java API is functionally stabilized and is intended for migrated applications. Restful Web Services is recommended for new development. To configure a machine to run the Legacy Java API without WebFOCUS installed: 1. Create an ibi\WebFOCUS82 folder in the new location. 2. Copy the following folders from the WebFOCUS installation and paste them into the new location: ibi\WebFOCUS82\client ibi\WebFOCUS82\config ibi\WebFOCUS82\utilities\bin ibi\WebFOCUS82\utilities\setenv ibi\WebFOCUS82\utilities\logger ibi\WebFOCUS82\ReportCaster 3. Edit the ibi\WebFOCUS82\config\webconfig.xml in the new location and globally change the path to ibi\WebFOCUS82 to match the new location. 4. Edit the ibi\WebFOCUS82\utilities\setenv\utilprodvars.bat in the new location and do the following: a. Change WFROOT to the new location. b. Change WEBinf to %WFROOT%\ReportCaster 5. Edit the ibi\WebFOCUS82\utilities\setenv\utiluservars.bat in the new location and set the path to Java and to the JDBC driver. 6. Compile and run the sample Legacy Java API programs as described in this manual.
WebFOCUS 8.1, Linux
July 31, 2018, 01:53 PM
gsbrown
Alright, getting closer. Discovered the reason for 'ReportCaster' login failure. Even though I was running everything from the /ibi/WebFOCUS82 directory it was still trying to use the config file from /ibi/WebFOCUS81 directory
quote:
"Caused by: java.io.FileNotFoundException: /opt/ibi/WebFOCUS82/config/install.cfg (No such file or directory) ".
This was set by a bashrc setting for 'root' forcing IBI_DOCUMENT_ROOT="/opt/ibi/WebFOCUS81". I've updated that to WebFOCUS82 and even deleted the entire WebFOCUS81 folder to ensure no more conflicts and I believe it's connecting now.
******* S21_Run ***************** No bundle found log4j:WARN No appenders could be found for logger (stdout). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 1212: Item does not exist IBFS:/WFC/Repository/ReportCaster/~DWPVIEW/IT_DataStage_Job_Status.sch , error code: 1212 at ibi.broker.api.cci.interactive.schedule.SelectScheduleId.processRequest(SelectScheduleId.java:139) at ibi.broker.api.cci.interactive.AbstractInteractive.execute(AbstractInteractive.java:225) at ibi.broker.api.cci.interactive.schedule.ScheduleManagerImpl.getScheduleId(ScheduleManagerImpl.java:255) at S21_Run.(S21_Run.java:39) at S21_Run.main(S21_Run.java:65) S21_Run FAIL
WebFOCUS 8.1, Linux
July 31, 2018, 02:02 PM
gsbrown
Wahoo! It's working. WebFOCUS82 doesn't work with the same report descriptions we have setup in WebFOCUS81. We'll adjust for that! Please mark this "SOLVED", thank you!
******* S21_Run ***************** No bundle found log4j:WARN No appenders could be found for logger (stdout). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. processId = J335d2c4fjb262j4e9bja27ej5218b57b0a2d S21_Run OK