Skip to main content

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

 

 

 

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). 


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?

 

 

 

 


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.


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.

 


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).


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

 

 


Reply