Question

Metadata not found

  • 5 February 2020
  • 6 replies
  • 1797 views

Badge +2
  • Do Gooder (Customer)
  • 2 replies

Hi,

We have IFS 10 Update Update5 and I’m looking into integrations by using the RESTful API and OData. 

I’m using Postman and sending a request like this:

https://SERVER ADDRESS AND PORT/int/ifsapplications/projection/v1/DocumentClassesHandling.svc/DocClassSet?$select=DocClass,DocName&$format=json

 

Using basic authentication (Basic Auth).

 

The response I get is:

{

    "error": {

        "code": "MI_METADATA_NOTFOUND",

        "message": "Metadata not found."

    }

}

 

Any suggestions?

 

Thanks.

 

Br,

Ole I. Gundersen

 

 

 


6 replies

Userlevel 7
Badge +19

Why are you trying this from “int”? Shouldn’t your URL like below? 

 

https://SERVER ADDRESS AND PORT/main/ifsapplications/projection/v1/DocumentClassesHandling.svc/DocClassSet?$select=DocClass,DocName&$format=json

 

Also if you need to get a trace you can suffix &odata-debug=json at the end of your url. But in this case I think you are incorrectly trying this resource in “int” (Int Server) where the resource does not exist. Rather you should fetch it from “main” (Main Server). 

Badge +2

Thank you for your answer.

 

I tried INT because of “Basic Auth”. I have tried MAIN but I always get a 401 message.

I tried 

https://SERVER ADDRESS AND PORT/int/ifsapplications/projection/v1/AllProjections.svc/Projections?$format=json and got the same “Metadata not found” response.

 

Are the available projections different for MAIN and INT?

 

 

 

 

Userlevel 7
Badge +19

Yes, they are different. They are referring to two deployments in weblogic and also connected to Main Server and Int Server separately. So you have to find a way to auth for Main or find a different resource from Int Server to use.

Badge +2

Ok, where can I find an overview of the differences.

 

I’ve tried https://SERVER ADDRESS AND PORT/main/ifsapplications/projection/v1/AllProjections.svc/Projections?$format=json

and got a huge list. 

The same request against INT (replacing main) does not work.

https://SERVER ADDRESS AND PORT/int/ifsapplications/projection/v1/AllProjections.svc/Projections?$format=json does not work.

 

Userlevel 5
Badge +11

I know this thread is old, but hope someone else finds this useful.

One of the reasons for MI_METADATA_NOTFOUND error would be that you are possibly working on a brand new component (e.g. CMODS), and this component is not properly registered in the database backend yet. Of course, when you put your changes in a delivery, the installer will  automatically generate the registration code and register the component, provided that you have created a proper deploy.ini file in the component (See documentation).

Until then, the remedy of course, is to manually register the component during the development:

BEGIN
Module_API.Create_And_Set_Version(
'CMODS', -- module_
'Application Modifications', -- name_
'1.0.0', -- version_
'Application Modifications 1.0.0', -- description_
NULL -- patch_version_
);
END;
/

Once  you register the component, and re-deploy the projection, you should see a proper RESTful OData API generated for the projection.

(This could be one of the reasons for MI_METADATA_NOT_FOUND. Feel free to add to the thread if you find other root causes).

Userlevel 5
Badge +10

We were able to fix the error “Metadata not found” by including for example the CustomerHandling in Compatibility Application Type:

 

 

Reply