BSM 9.26 OpenApi and WS error

Hi,
we have problem with access to GdeOpenApi and GdeWSOpenAPI after update BSM and RUM: 9.20->9.26. After accessing gdeopenapi via web browser, we get arror:
101 Processing problem
In log:
2015-11-30 15:09:23,260 [ajp-/127.0.0.1:8009-1] (GetDataBean.java:253) ERROR - MERQ-120403: Some error occured during data check
error code=101
message=Processing problem. GDE Message: Configuration Error:: Failed to get all DbContexts for context name RumDbContext
2015-11-30 15:09:23,384 [ajp-/127.0.0.1:8009-1] (GDERequestHandlerImpl.java:159) ERROR - Handling GDEConfigurationException:
com.mercury.infra.db.context.DBContextProviderException: Failed to get all DbContexts for context name RumDbContext

Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.mercury.am.eum.rum.api.RumDbContextHandler] for bean with name 'RumDbContext.dbContext.provider' defined in file [F:\HPBSM\conf\fnd\spring\dbContextProviders.xml]; nested exception is java.lang.ClassNotFoundException: com.mercury.am.eum.rum.api.RumDbContextHandler from [Module "deployment.gde-openapi-ejb.ear.gde-openapi-ejb.jar:main" from Service Module Loader]
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1141)
Caused by: java.lang.ClassNotFoundException: com.mercury.am.eum.rum.api.RumDbContextHandler from [Module "deployment.gde-openapi-ejb.ear.gde-openapi-ejb.jar:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
rethrown as com.mercury.infra.gde.configuration.GDEConfigurationException: Failed to get all DbContexts for context name RumDbContext
at com.mercury.infra.gde.configuration.GDEStorageManagerImpl.getDbContextMap(GDEStorageManagerImpl.java:139)

GdeWsOpenAPI:

- <soapenv:Body>
- <soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>javax.naming.NameNotFoundException: GdeWsOpenAPI -- service jboss.naming.context.java.GdeWsOpenAPI</faultstring>
- <detail>
<ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">BSMGTW</ns1:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>

Where BSMGTW is the gateway hostname.

I didn't find anything in support knowledge base.
What can be wrong? What should I check?

BR.

Parents
  • Hi bednarcm,
    you mentioned
    > GdeOpenApi and GdeWSOpenAPI 
    so did you also test both?
    I did some test on two different BSM 9.26 systems and found that the GDE Open Api works fine for SiteScope data
     
    myhost/.../GdeOpenApi szMeasurementName, szMonitorName, dValue from ss_t where szMonitorName='ping' and time_stamp=PastDay

    and for BPM data

    myhost/.../GdeOpenApi time_stamp as TimeStamp , profile_name AS Profile_Name ,szLocationName as Location_Name , dResponseTime as ResponseTime , szStatusName as Status, szTransactionName as Transaction_Name from trans_t where time_stamp=PastDay

    As I don't have a RUM engine connected to these instances yet, I cannot test with 100% confidence, but trying it with

    myhost/.../GdeOpenApi time_stamp as TimeStamp , application_name AS Application ,location_name as Location_Name , total_hits as Total_Hits , availability as Availability, transaction_name as Transaction_Name from rum_trans_t where time_stamp=PastDay

    and

    myhost/.../GdeOpenApi time_stamp as TimeStamp , application_name AS Application ,location_name as Location_Name , total_action_hits as Total_Action_Hits , transaction_name as Transaction_Name from rum_application_stats_t where time_stamp=PastDay

    didn't fail but got back with "The data is empty"

    From the error message it seems that a library is not loaded or the code requested cannot be found in it, as this code referred to in
     <HPBSM>\conf\fnd\spring\dbContextProviders.xml
          <bean
      id="RumDbContext.dbContext.provider"
      class="com.mercury.am.eum.rum.api.RumDbContextHandler"
      singleton="true">
     </bean>
     
    didn't change from 9.25 to 9.26, but your box thinks that the class
     com.mercury.am.eum.rum.api.RumDbContextHandler
    cannot be loaded from Module "deployment.gde-openapi-ejb.ear.gde-openapi-ejb.jar:main" from Service Module Loader

    I checked the file gde-openapi-ejb.jar on my 9.26 box at
     C:\HPBSM\AppServer\webapps\gde-openapi-ejb.ear
    it contains
     gde-openapi-ejb.jar
    (and some other files)
    so this seems to be fine.

    Can you check if can find this file <HPBSM>\AppServer\webapps\gde-openapi-ejb.ear to start with,
    and can you also check if a simple request like

    http://<host>/topaz/gdeopenapi/GdeOpenApi?method=getData&user=<user>&password=<user>&query=select szMeasurementName, szMonitorName, dValue from ss_t where szMonitorName='ping' and time_stamp=PastDay

    works, or at least responds with "The data is empty"

    Greetings
    Siggi

  • Hi Siggi,

    I checked this and I have this file on both servers (GTW and DPS). 

    I also checked GdeOpenApi for SAM (I don't have SiS in this environment, only RUM) and for SiS I don't have errors, there is retrieved something. 

    Besides I can't run any RUM report in Applications -> EUM.

    So the problem is for RUM only.

     

    I there any way to load this library manually?

    BR.

  • Hi bednarcm,

    thanks for your replies.

    This
    > I can't run any RUM report in Applications -> EUM
    is an idication that you have a more generic issue than just a problem with the API,
    thus I think this
    > Is there any way to load this library manually?
    is not required and/or not sufficient.

    However, this error
    > Every try to open EUM reports ends with error: Problem getting data from database. In portlets: Exception in rendering component.
    is very different from what you had before!

    Have a look at the time, try to generate a report, wait for the error to show up,
    take a screenshot of the error, then look into the logfile
    <BSM>\log\jboss\gde*.log
    If you find an error around the timefram you tried to generate the report, post the log here including the screenshot.

    Greetings
    Siggi

  • Hi Siggi,

    unfortunately I can't take screenshot, but I have this log. Access to EUM reports or to RUM data via open api results in the same error. 

    Log is attached.

    BR.

     

  • Hi bednarcm,

    thanks for your update.

    The logfile doesn't reveal anything new,
    it either shows the error you mentioned already

    2015-11-30 17:32:44,582 [ajp-/127.0.0.1:8009-3] (GetDataBean.java:253) ERROR - MERQ-120403: Some error occured during data check
    error code=101
    message=Processing problem. GDE Message: Configuration Error:: Failed to get all DbContexts for context name RumDbContext
    2015-11-30 17:32:44,763 [ajp-/127.0.0.1:8009-4] (GDERequestHandlerImpl.java:159) ERROR - Handling GDEConfigurationException:
    com.mercury.infra.db.context.DBContextProviderException: Failed to get all DbContexts for context name RumDbContext
            ..
    Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.mercury.am.eum.rum.api.RumDbContextHandler] for bean with name 'RumDbContext.dbContext.provider' defined in file [F:\HPBSM\conf\fnd\spring\dbContextProviders.xml]; nested exception is java.lang.ClassNotFoundException: com.mercury.am.eum.rum.api.RumDbContextHandler from [Module "deployment.gde-openapi-ejb.ear.gde-openapi-ejb.jar:main" from Service Module Loader]
            ..
    Caused by: java.lang.ClassNotFoundException: com.mercury.am.eum.rum.api.RumDbContextHandler from [Module "deployment.gde-openapi-ejb.ear.gde-openapi-ejb.jar:main" from Service Module Loader]
            ..
    rethrown as com.mercury.infra.gde.configuration.GDEConfigurationException: Failed to get all DbContexts for context name RumDbContext
            ..
    Caused by: com.mercury.infra.db.context.DBContextProviderException: Failed to get all DbContexts for context name RumDbContext
            ..
    Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.mercury.am.eum.rum.api.RumDbContextHandler] for bean with name 'RumDbContext.dbContext.provider' defined in file [F:\HPBSM\conf\fnd\spring\dbContextProviders.xml]; nested exception is java.lang.ClassNotFoundException: com.mercury.am.eum.rum.api.RumDbContextHandler from [Module "deployment.gde-openapi-ejb.ear.gde-openapi-ejb.jar:main" from Service Module Loader]
            ..
    Caused by: java.lang.ClassNotFoundException: com.mercury.am.eum.rum.api.RumDbContextHandler from [Module "deployment.gde-openapi-ejb.ear.gde-openapi-ejb.jar:main" from Service Module Loader]
     at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
            ..
    2015-11-30 17:32:44,763 [ajp-/127.0.0.1:8009-4] (GetDataBean.java:253) ERROR - MERQ-120403: Some error occured during data check
    error code=101
    message=Processing problem. GDE Message: Configuration Error:: Failed to get all DbContexts for context name RumDbContext

    or another one

    2015-11-30 17:44:43,845 [ajp-/127.0.0.1:8009-4] (GetDataBean.java:253) ERROR - MERQ-120405: Some error occured during getting data from GDE
    error code=101
    message=Processing problem.

    Both errors MERQ-120403 and MERQ-120405 are quite generic, unfortunately.

    Based on the errors I cannot say if the second error has the same root cause than the first one.

    Options:
    - assuming that a file was not deployed correctly during BSM start,
      check <HPBSM>\jboss-as\standalone\log\server.log.* (many HUGE files!)
      for messages regarding gde-openapi-ejb.ear, here a good example (worked fine) from my system
       date/time INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS018559: Deployed "gde-openapi-ejb.ear" (runtime-name : "gde-openapi-ejb.ear")

      also check <BSM>\log\supervisor\server-deployer.log
       date/time [nanny Manager:Initialize Task] (DeployComponentAction.java:42)
         INFO  - Starting redeploy component:File:AppServer/webapps/gde-openapi-ejb.ear installType:ALL

      you might find nothing, or the same I see on my box, or - this would be the best - an error during deployment,
      then we would have 100% confidence, without it's a well-educated gess

       stop BSM on all servers, make sure there are no BSM-related processes left
       clear JBoss cache (I hate this as general recommendation, but in such a case it might helps)
         * Stop the IIS service, IIS admin service, and WWW publishing service  and / or Apache
         * delete the folder <HPBSM>/jboss-as/standalone/tmp
         * start the IIS service and/or Apache and BSM.
       start BSM
       try again

    - enable DEBUG logging for GDE, reproduce the erorr, send the logs

    - last but most likely resort : open a case with support so that R&D can be involved.

    Greetings
    Siggi

  • Hi Siggi,

    support case is opened, but till yesterday I don't have any update... So community works better ;-)
    Today I reinstalled BSM (started this before your answer), again without errors, connected to the same databases. After BSM start EUM reports and gdeopenapi returns data, I was able to see everything. I didn't change anything and after restart, error occured again.

    I checked logs you mentioned and I found only this:
    16:55:29,229 WARN [org.jboss.as.server.deployment] (MSC service thread 1-18) JBAS015850: /F:/HPBSM/supervisor/wrapper/content/gde-openapi-ejb.ear/gde-openapi-ejb.jar/META-INF/jboss-deployment-structure.xml in subdeployment ignored. jboss-deployment-structure.xml is only parsed for top level deployments.
    16:58:29,524 INFO [org.jboss.as.server] (Controller Boot Thread) JBAS018559: Deployed "gde-openapi-ejb.ear" (runtime-name : "gde-openapi-ejb.ear")
    Exactly the same was after first and second start on both servers.

    I'm trying to clear jboss cache, but if I will have to do it after every BSM stop, this won't be solution.

    Other question:
    Can I install now BSM 9.20->9.25 after connection BSM9.26 to database?

    BR.

  • Hi bednarcm,

    that's
    > I reinstalled BSM (started this before your answer), again without errors, connected to the same databases.
    > After BSM start EUM reports and gdeopenapi returns data, I was able to see everything.
    a tough measure ;-)
    and that's
    > I didn't change anything and after restart, error occured again.
    really strange!

    This
    ..
    WARN [org.jboss.as.server.deployment] (MSC service thread 1-18) JBAS015850: /F:/HPBSM/supervisor/wrapper/content/gde-openapi-ejb.ear/gde-openapi-ejb.jar/META-INF/jboss-deployment-structure.xml in subdeployment ignored. jboss-deployment-structure.xml is only parsed for top level deployments.

    INFO [org.jboss.as.server] (Controller Boot Thread) JBAS018559: Deployed "gde-openapi-ejb.ear" (runtime-name : "gde-openapi-ejb.ear")
    ..
    is not an error. I have this on my (perfectly fine wokring) boxes as well.

    > I'm trying to clear jboss cache, but if I will have to do it after every BSM stop, this won't be solution.
    No, of course this wouldn't be a solution. We would need to find the rrot cause for this, and I expect that this will be done with the support case.

    On your other question
    > Can I install now BSM 9.20->9.25 after connection BSM9.26 to database?

    I understand that you plan to get rid of BSM 9.26, install 9.20 9.25 ( hopefully IP1) and then connect to the (previously used with BSM 9.26) database.

    This should (!) work, as there were no structurel changes between 9.25 and 9.26, but of course some fields are used differently in 9.25 and in 9.26.

    You should in any case follow the intructions in
    KM1132765 - BSM 9.x - How to change BSM host name / changing hostname
     E: Run these queries in management DB:
      all ALTER, TRUNCATE and DELETE statements
      from
       ALTER TABLE HA_SERVICES_DEP DROP CONSTRAINT HA_SERVICES_DEP_FK1;
      to
       delete from DEPLOY_HW

    then
     connect to DB on all BSM machines (DPS first, then GW).
    and
     start up BSM (DPS first, then GW).

    This should do the trick, but it's not a really supported scenario.
    You better take the DB backup you created when your environment was on 9.25, prior to the update to 9.26
    (of course you created a DB backup, didn't you ...)

    Greetings
    Siggi

  • Hi Siggi,

    thanks for your reply.

    I did remove 9.26 and install 9.25 IP1. I did clear procedure and BSM connects to database. Unfortunatelu there is one error in Server Deployment of Configuration Utility:

    com.hp.bsm.deployment.DeploymentValidationException: Application MACore cannot be activated. Only the following applications can be activated: [Users, Model, Upgrade, SHP, Core, EUM, sam,OMiCore, MetricData, BPI, Diagnostics, Baseline].

    I see this app in DEPLOY_CONF table, two values CURRENT and LAST_COMMON both are ON.

    Unfortunately I don't have database backup...

    BR.

  • Hi bendnarcm,

    you better always create a new thread for a new issue. THen the old one can be closed or forgotten about, and you don't end up dealing with 15 different issues in one thread, people will get bored when they look up the thread and see it goes for a to b to ... x ;-)

    From the logs you attached it appears that there were more changes between BSM 9.25 and 9.26 than I thought:

    here you see that Server Deployment finds the application "MACore"

    INFO  - Configuration loaded successfully:
    Deployment Configuration:
    application OMiCore level ON
    application Users level Medium
    application MetricData level Large
    application Model level Medium
    application Core level Small
    application MACore level ON
    application EUM level ON
    HW Status:
    bsmdps: Installed Components: DPS; Memory: 10229
    ..

    but fails to activate it:

    ERROR - Failed to set deployment configuration, validation failed
    com.hp.bsm.deployment.DeploymentValidationException: Application MACore cannot be activated. Only the following applications can be activated: [Users, Model, Upgrade, SHP, Core, EUM, sam, OMiCore, MetricData, BPI, Diagnostics, Baseline]

    I checked on one 9.25 box and one 9.26 box and found this difference in the BSM Management database table DEPLOY_CONF (one more line in the 9.26 DB table):
    SELECT TYPE, APP_NAME, DEP_LEVEL FROM DEPLOY_CONF

    TYPE     APP_NAME  DEP_LEVEL
    CURRENT  MACore    ON

    I guess that this is something which doesn't exist in BSM 9.25, so the only idea I have is to
    - stop BSM,
    - delete all entries from DEPLOY_CONF where APP_NAME = 'MACore'
    - start BSM

    If this doesn't work, you only have the two options
    - going "back" to BSM 9.26
    - stay on BSM 9.25 and create a new set of BSM databases

    Greetings
    Siggi

  • Hi Siggi,

    I found your old reply to other user, this answer showed some example of APPS. So I had done exactly what you wrote in your answer (delete MACore from DEPLOY_CONF table) and BSM 9.25 is working, all data from RUM is visible in EUM reports. GdeOpenApi and GdeWsOpenAPI are working good.

    But I have now other problem: after enabled SSL/TLS I can't see Admin pages. When I use http, everything is good. When use https, I have error:

    security: Expected Main URL: https://bsmgtw.domain.name/topaz/jsp/applets/common/lib/applet-bootstrap.jar
    basic: Plugin2ClassLoader.addURL parent called for https://bsmgtw.domain.name/topaz/jsp/applets/common/lib/applet-bootstrap.jar
    network: Cache entry not found [url: https://bsmgtw.domain.name/topaz/jsp/applets/common/lib/applet-bootstrap.jar, version: 7DF.1FA.8A8.1518]
    network: Connecting https://bsmgtw.domain.name/topaz/jsp/applets/common/lib/applet-bootstrap.jar.pack.gz?version-id=7DF.1FA.8A8.1518 with proxy=DIRECT
    network: Cache entry not found [url: file:/C:/Program Files (x86)/Java/jre1.8.0_40/lib/ext/sunec.jar, version: null]
    network: Cache entry not found [url: file:/C:/Program Files (x86)/Java/jre1.8.0_40/lib/ext/sunjce_provider.jar, version: null]
    network: Connecting http://bsmgtw.domain.name:443/ with proxy=DIRECT
    javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name

    SSL is configured in Apache, JBOSS and JMX. certificate is signed by my customer CA, all certificates are in both GTW keystores and exchanged between all servers (GTW, DPS and RUM). JRE version 1.8 update 40.

    I've no idea how can I repay you for your help :-)

    BR.

  • Hi bednarcm,

    I totally forgot about your follow-up question (you remember my statement on opening a new thread for a new issue??),
    but just saw this new post

     http://community.hpe.com/t5/Application-Perf-Mgmt-BAC-BSM/BSm-9-25-IP1-is-giving-the-user-SSL-errors/m-p/6816636#M65100

    which looks like exactly your last problem, and a solution has bene posted as well already:
     
     https://support.xebialabs.com/hc/en-us/community/posts/203291975-SOLVED-javax-net-ssl-SSLProtocolException-handshake-alert-unrecognized-name

    Greetings
    Siggi

Reply Children
No Data