Creating imx-api library with ImxClient in One Identity Manager 9.1

Hello,

we have an custom API which was created with One Identity Manager v8 and has been configured with the ApiDesigner. We are now switching to One Identity Manager 9.1. I have changed the implementation so that our API Projects are now registered as a Plugin in the VisualStudio project. So far so good, the API is properly picked up by the ApiServer once loaded into the Database and requesting the custom endpoints works fine. But now we come to the Angular related part. In the past, we have used the imx-api library which was created by the ApiDesigner to make use of the custom models and to invoke the API requests with the respective autogenerated functions.

In 9.1 we have to use the ImxClient. According to the documentation, i can create the typescript client package with something like this:

ImxClient.exe compile-api /copyapi C:\...\imx-api-ccc.tgz /packagename imx-api-ccc

I expected to get a similar package as with the imx-api but there are all of our custom models / API endpoints missing. There are tons of Info messages saying:

Info: Endpoint GET ... was not found in code and deleted.

What does this mean and how can we get a client library similar to the imx-api in 8.2 ?

Best regards, Daniel

Parents
  • Okay i could make it work... but this is not really a user friendly approach. You have to make sure that the Custom API Plugin is available in the same directory as all of the other Module API Plugins, so that the ImxClient is able to pick it up. Unfortunately the documentation is also outdated when it comes to the ImxClient and its missing crucial details.

  • Former Member
    0 Former Member over 1 year ago in reply to daniel.storck

    Hi, Daniel, I'm struggling with this too. Could you please give more details as to what to do , what to place so the imxclient works? Reading the documentation (and I completely agree with you) it seems that you only need to run the imxclient command "as it is" and that will make it all.  

    Documentation (¿?) : 

    imxclient compile-api -N -W /copyapi imx-api-ccc.tgz /packagename imx-api-ccc


    Thanks!

Reply
  • Former Member
    0 Former Member over 1 year ago in reply to daniel.storck

    Hi, Daniel, I'm struggling with this too. Could you please give more details as to what to do , what to place so the imxclient works? Reading the documentation (and I completely agree with you) it seems that you only need to run the imxclient command "as it is" and that will make it all.  

    Documentation (¿?) : 

    imxclient compile-api -N -W /copyapi imx-api-ccc.tgz /packagename imx-api-ccc


    Thanks!

Children
  • Hi,

    so once you have implemented your Custom API as a plugin in Visual Studio, you should have a build CCC.CompositionApi.Server.Plugin.dll file. Just put it into your installation folder of One Identity Manager where the ImxClient.exe is located. Then you can run

    ImxClient.exe compile-api /copyapi C:\...\imx-api-ccc.tgz /packagename imx-api-ccc

    This will create a node package imx-api.ccc.tgz within the path you specified.

    You should see an info in during the build like "Info: Plugin assembly loaded: CCC.CompositionApi.Server.Plugin ..." then you know that your Custom API will be part of the client.

    As a sidenote:

    Parameter -W is not supported by the ImxClient.exe anymore and DO NOT USE parameter -N.

    Parameter -N prevents the creation of the node package, i have no idea why this is used in that example of the documentation because that's basically what our goal is.

  • Former Member
    0 Former Member over 1 year ago in reply to daniel.storck

    Thanks Daniel, tested and working!