Forum Stats

  • 3,853,693 Users
  • 2,264,256 Discussions
  • 7,905,433 Comments

Discussions

OBIEE web service api version

Hello,

I am using the OBIEE web service api to communicate with some remote servers where the OBIEE software is deployed. My client code is written in java, and uses generated code/classes from the oracle wsdl that take care of the client-server communication over soap.
My client java code uses for example the SAWSessionService to login, and MetadataService and WebCatalogService to check what reports are there.

The issue I am facing is that some of the servers are new (OBI version 10.1.x) but some servers are older (not updated to latest version) and don't support the latest web service apis. My client code only knows the URL to contact the remote servers, it doesn't really knows the version of the software on the server. What my client code tries to execute some recent ws api against an old server, it fails.

So, how is it possible to query and retrieve the version of the software deployed on a remote server, via web service api?
How can I write my client code to accomodate for different versions on the servers?
What would you recommend?

Regards,

Olivier
Tagged:

Answers

  • 205972
    205972 Member Posts: 7
    Does anyone know how to retrieve the OBIEE server version using the web service api ?

    With each new version of OBIEE, the WSDL file (which defines the web service api) is evolving, and therefore client applications need to be able to detect what is available at runtime from the server.

    This is mostly important if you have multiple OBIEE servers which may not be at the same version level, because they can be located in different data centers, and/or managed by different administrators/roadmaps.

    Any words of wisdom ?

    Olivier
  • rmoff
    rmoff Member Posts: 2,511
    No idea I'm afraid! Given the dearth of responses here then maybe raise an SR to ask the question directly to Oracle?
  • 704632
    704632 Member Posts: 2
    Oliver, perhaps this is a stupid question, but why can't you determine the available services via the WSDL that the target server returns? By definition that WSDL defines the services for that endpoint, right?
  • 205972
    205972 Member Posts: 7
    I think I found a good way to detect the version. Just sharing with the forum, for future reference.

    On the OBIEE server, there is an xml file which describes the version:
    C:\OracleBI\oc4j_bi\j2ee\home\applications\analytics\analytics\res\version.xml

    Since this file is in the oc4j file system, it is publicly available through the web server.
    So one can retrieve it via an HTTP GET command, for example with a web browser:
    http://myserver:9704/analytics/res/version.xml

    Then the client application can parse its content with any xml parser.

    Cheers,

    Olivier
This discussion has been closed.