ace-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Offermans <>
Subject Re: Upload Artifact to ACE repository using ACE REST client
Date Wed, 18 Sep 2013 21:10:53 GMT
Hello Ghania,

On Sep 18, 2013, at 22:55 PM, ghania ferrag <> wrote:

> I’m working on new WEB UI that use ACE rest client to communicate with ACE server.
> Now I need to add Artifacts or bundles to repository. I did put the artifacts, that I
want to add,  somewhere where I can reference with a URL and use the REST client API to add
the metadata for the artifact(s). 
> I’m following the user guide of Client REST Api,
and I’m having the following error when I tried to upload a new Artifact [Error 400 Could
not add entity of type artifact].
> Here is the JSON that I’m sending to upload new artifact
> {"attributes":{
> "artifactName":"js-1.7R2-osgi",
> "artifactDescription":"uploaded package js-1.7R2-osgi.jar",
> "url":"file:///C:/proj-test/upload/js-1.7R2-osgi.jar",
> "Bundle-Name":"bn",
> "Bundle-SymbolicName":"bsn",
> "Bundle-Version":"1.0"
> }, "tags":{}}  
> Anyone have an idea what I’m missing here? Also what we have to set in the processorPid
> Thank you very much in advance for your response,

Yes. Since ACE can store many different types of "artifacts" one thing you must always supply
is a specific mimetype.

We have an ArtifactRecognizer that has a method called extractMetadata() and is implemented
for every type of artifact we support. So in this case, if you look in BundleHelperImpl you
will see what attributes it extracts from a bundle. One of which is:

            metadata.put(ArtifactHelper.KEY_MIMETYPE, MIMETYPE);

The constants evaluate to: "mimetype", "application/vnd.osgi.bundle".

That same piece of code also answers your question about what to set in the processorPid property
(an empty string is fine).

Greetings, Marcel

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message