diff --git a/src/app/datasets/datasets.component.ts b/src/app/datasets/datasets.component.ts
index b1979323837003c95be0172b5d2823568a24d6bc..c22c9679a2c8bf87a970a5e83ac89e4a3520638e 100644
--- a/src/app/datasets/datasets.component.ts
+++ b/src/app/datasets/datasets.component.ts
@@ -48,7 +48,7 @@ export class DatasetsComponent implements OnInit, AfterViewChecked, AfterContent
 
   Object = Object;
 
-  //urlrepo = "dataverse.ird.fr";
+  // urlrepo = "dataverse.ird.fr";
   //  urlrepo = "data.inrae.fr";
 
   constructor(
@@ -198,7 +198,7 @@ export class DatasetsComponent implements OnInit, AfterViewChecked, AfterContent
       }
     }
 
-    const myHeaders: any = {};
+    const myHeaders: Map<string, string> = new Map<string, string>();
 
     const url = new URL(this.urlRepo + path);
 
@@ -213,14 +213,14 @@ export class DatasetsComponent implements OnInit, AfterViewChecked, AfterContent
           url.searchParams.set(parameterName, value);
           break;
         case ParameterType.header:
-          myHeaders[parameterName] = value;
+          myHeaders.set(parameterName, value);
           break;
-        case ParameterType.cookie:
-          if (myHeaders.Cookie != null) {
-            myHeaders.Cookie = myHeaders.Cookie + `; ${parameterName}=${value}`;
-          } else {
-            myHeaders.Cookie = `${parameterName}=${value}`;
-          }
+        // case ParameterType.cookie:
+        //   if (myHeaders.Cookie != null) {
+        //     myHeaders.Cookie = myHeaders.Cookie + `; ${parameterName}=${value}`;
+        //   } else {
+        //     myHeaders.Cookie = `${parameterName}=${value}`;
+        //   }
       }
     }
 
@@ -228,7 +228,7 @@ export class DatasetsComponent implements OnInit, AfterViewChecked, AfterContent
     let result: any = null;
 
     try {
-      const response = await this.getRequestPromiseByHttpMethod(httpMethod as HttpMethod, requestHref, myHeaders, pathName);
+      const response = await this.dataSetService.getRequestPromiseByHttpMethod(httpMethod as HttpMethod, requestHref, myHeaders, pathName);
 
       switch (this.getTagByPathName(pathName, httpMethod)) {
         case OpenApiTag.search:
@@ -247,12 +247,13 @@ export class DatasetsComponent implements OnInit, AfterViewChecked, AfterContent
   }
 
   getRequestPromiseByHttpMethod(httpMethod: HttpMethod, requestUrl: string, headers: any, pathName: string): Promise<any> {
+    const ApiUrl = `${environment.smartharvesterUrl}/harvester/api/publication/item?url=${requestUrl}`;
     let requestObs: Observable<any>;
-    console.log(this.openApi.info['x-result'] === "xml")
+    console.log(this.openApi.info['x-result'] === 'xml');
     switch (httpMethod.toLowerCase()) {
       case HttpMethod.GET:
 
-        if (this.openApi.info['x-result'] === "xml" && this.getTagByPathName(pathName, httpMethod) == OpenApiTag.dataset) {
+        if (this.openApi.info['x-result'] === 'xml' && this.getTagByPathName(pathName, httpMethod) == OpenApiTag.dataset) {
           requestObs = this.httpClient.get(requestUrl, { headers, responseType: 'text' });
         } else {
           requestObs = this.httpClient.get(requestUrl, { headers });
@@ -393,7 +394,7 @@ export class DatasetsComponent implements OnInit, AfterViewChecked, AfterContent
   }
 
   private getListFromDialog(searchRequestPathName: string, searchRequestHttpMethod: string,
-    datasetRequestPathName: string, datasetRequestHttpMethod: string) {
+                            datasetRequestPathName: string, datasetRequestHttpMethod: string) {
     this.launchRequest(searchRequestPathName, searchRequestHttpMethod, false).then((response) => {
       this.dialog.open(DatasetsDialogComponent, {
         width: '100vw',
@@ -420,8 +421,8 @@ export class DatasetsComponent implements OnInit, AfterViewChecked, AfterContent
     for (let i = 0; i < datasetId.length; i++) {
       this.dataSetService.saveUrls(this.getUrls(datasetRequestPathName, datasetRequestHttpMethod, datasetId[i]), datasetId[i] );
       let requestPromise: Promise<void>;
-      if (this.openApi.info['x-result'] !== "xml") {
-        
+      if (this.openApi.info['x-result'] !== 'xml') {
+
         if (i < 10) {
           requestPromise = this.launchRequest(datasetRequestPathName, datasetRequestHttpMethod, false, datasetId[i])
             .then((dataset) => {
diff --git a/src/app/datasets/model/requestModel.ts b/src/app/datasets/model/requestModel.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b8bce7b18a91bfe3015160f252676c86f1f236ba
--- /dev/null
+++ b/src/app/datasets/model/requestModel.ts
@@ -0,0 +1,4 @@
+export class RequestItemModel {
+  public header: any;
+  public url: URL;
+  }
diff --git a/src/app/datasets/services/dataset-crud.service.ts b/src/app/datasets/services/dataset-crud.service.ts
index b2b96b616fd4e0fd7ebcb753e4b2372ede4bb501..08181e6e50b303b0720fa826faaabbeded225ce8 100644
--- a/src/app/datasets/services/dataset-crud.service.ts
+++ b/src/app/datasets/services/dataset-crud.service.ts
@@ -5,6 +5,8 @@ import { TokenStorageService } from 'src/app/authentication/services/token-stora
 import { environment } from 'src/environments/environment';
 
 import { ParseXmlService } from '../../services/parse-xml.service';
+import {HttpMethod} from '../../publishapi/class/http-enum';
+import {RequestItemModel} from '../model/requestModel';
 
 const FDP_URL = environment.fdpUrl;
 const SMARTHARVESTER_API = environment.smartharvesterUrl;
@@ -191,5 +193,32 @@ export class DatasetCrudService {
     return this.http.post(this.requestHistoricalBaseUrl + '/create', body, this.tokenHarvesterHeader);
   }
 
+  getRequestPromiseByHttpMethod(httpMethod: HttpMethod, requestUrl: string, headers: Map<string, string>, pathName: string): Promise<any> {
+    const ApiUrl = `${environment.smartharvesterUrl}/harvester/api/publication/item`;
+    let requestObs: Observable<any>;
+    const httpOptions = {
+      headers: new HttpHeaders({
+        'Content-Type': 'Application/json',
+        'Authorization': 'Bearer ' + this.smartHarvesterToken
+      })
+    };
+    switch (httpMethod.toLowerCase()) {
+      case HttpMethod.GET:
+        const convMap = {};
+        headers.forEach((val: string, key: string) => {
+          convMap[key] = val;
+        });
+        const body = new RequestItemModel();
+        body.url = new URL(requestUrl);
+        body.header = convMap;
+        requestObs = this.http.post(ApiUrl, body, httpOptions);
+
+
+    }
+
+    return requestObs.toPromise();
+  }
+
+
 
 }