diff --git a/core/trunk/core/class/web_service/class_rest_server.php b/core/trunk/core/class/web_service/class_rest_server.php index 7cef174b4a1348d878de5b47792144e437fd9c8f..c4f9b9248929d0fc2a8d36a5f8b9497d556edd54 100644 --- a/core/trunk/core/class/web_service/class_rest_server.php +++ b/core/trunk/core/class/web_service/class_rest_server.php @@ -117,4 +117,22 @@ class MyRestServer extends webService echo 'requested resource id : ' . $this->requestedResourceId . '<br>'; echo 'result of the function call : ' . $this->call(); } + + /** + * generate REST server + */ + function makeCMISCatalog() + { + /*echo '<pre>'; + var_dump($_SERVER); + var_dump($this->dispatchMap); + echo '</pre>';*/ + //echo 'method ? ' . $this->crudMethod . '<br>'; + /*echo 'requested resource : ' . $this->requestedResource . '<br>'; + echo 'requested resource id : ' . $this->requestedResourceId . '<br>'; + echo 'result of the function call : ' . $this->call();*/ + //$cmis = new Maarch_SOAP_DISCO_Server($server, 'MySoapServer'); + header("Content-type: text/xml"); + readfile('core/class/web_service/cmisCatalog.xml'); + } } diff --git a/core/trunk/core/class/web_service/class_web_service.php b/core/trunk/core/class/web_service/class_web_service.php index 7097c27b54144f2580e4a1c37e32ba2c852e2723..82594c228c8ba1c47def4ad0fa8a0428cfb07f6c 100644 --- a/core/trunk/core/class/web_service/class_web_service.php +++ b/core/trunk/core/class/web_service/class_web_service.php @@ -210,8 +210,14 @@ class webService { isset($wsMode) && strcasecmp($wsMode,'rest') == 0 ) { - //REST + //CMIS $restServer->makeRESTServer(); + } elseif ( + isset($wsMode) + && strcasecmp($wsMode,'cmis') == 0 + ) { + //REST + $restServer->makeCMISCatalog(); } else { //SOAP BY DEFAULT if ( diff --git a/core/trunk/core/class/web_service/cmisCatalog.xml b/core/trunk/core/class/web_service/cmisCatalog.xml new file mode 100644 index 0000000000000000000000000000000000000000..575c2d70a14e57a0dc6e81ad104d2956044e0b9f --- /dev/null +++ b/core/trunk/core/class/web_service/cmisCatalog.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<app:service xmlns:app="http://www.w3.org/2007/app" +xmlns:atom="http://www.w3.org/2005/Atom" +xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" +xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"> + <app:workspace> + <atom:title>Maarch main Repository</atom:title> + <cmisra:repositoryInfo> + <cmis:repositoryId>e1125a70-33c0-11e2-81c1-0800200c9a66</cmis:repositoryId> + <cmis:repositoryName>Maarch main Repository</cmis:repositoryName> + <cmis:repositoryDescription>Maarch main Repository</cmis:repositoryDescription> + <cmis:vendorName>Maarch</cmis:vendorName> + <cmis:productName>Maarch Entreprise</cmis:productName> + <cmis:productVersion>1.4.0</cmis:productVersion> + <cmis:rootFolderId>workspace://</cmis:rootFolderId> + <cmis:capabilities> + <cmis:capabilityACL>none</cmis:capabilityACL> + <cmis:capabilityAllVersionsSearchable>false</cmis:capabilityAllVersionsSearchable> + <cmis:capabilityChanges>none</cmis:capabilityChanges> + <cmis:capabilityContentStreamUpdatability>none</cmis:capabilityContentStreamUpdatability> + <cmis:capabilityGetDescendants>true</cmis:capabilityGetDescendants> + <cmis:capabilityGetFolderTree>false</cmis:capabilityGetFolderTree> + <cmis:capabilityMultifiling>false</cmis:capabilityMultifiling> + <cmis:capabilityPWCSearchable>false</cmis:capabilityPWCSearchable> + <cmis:capabilityPWCUpdatable>false</cmis:capabilityPWCUpdatable> + <cmis:capabilityQuery>metadataonly</cmis:capabilityQuery> + <cmis:capabilityRenditions>none</cmis:capabilityRenditions> + <cmis:capabilityUnfiling>true</cmis:capabilityUnfiling> + <cmis:capabilityVersionSpecificFiling>false</cmis:capabilityVersionSpecificFiling> + <cmis:capabilityJoin>none</cmis:capabilityJoin> + </cmis:capabilities> + <cmis:cmisVersionSupported>1.0</cmis:cmisVersionSupported> + </cmisra:repositoryInfo> + </app:workspace> +</app:service> diff --git a/core/trunk/core/class/web_service/cmis_test/test_rest.php b/core/trunk/core/class/web_service/cmis_test/test_rest.php index e39f790388f90e7b15eb18a167934bbbacb717ae..dc3ad5887b79867df73a974b437e3b74e33012c3 100644 --- a/core/trunk/core/class/web_service/cmis_test/test_rest.php +++ b/core/trunk/core/class/web_service/cmis_test/test_rest.php @@ -1,5 +1,6 @@ <?php +include_once ('../../../init.php'); if (!isset($_REQUEST['resource'])) { $_REQUEST['resource'] = 'folder'; } @@ -13,7 +14,7 @@ curl_setopt($curl, CURLOPT_USERPWD, 'bblier:maarch'); //curl_setopt($curl, CURLOPT_USERPWD, 'pparker:maarch'); //WS URL -$url = 'http://127.0.0.1/maarch_entreprise/ws_server.php?REST'; +$url = $_SESSION['config']['coreurl'] . 'ws_server.php?REST'; if (isset($_REQUEST['resource']) && !empty($_REQUEST['resource'])) { $url .= '/' . $_REQUEST['resource']; } @@ -23,13 +24,13 @@ if (isset($_REQUEST['idResource']) && !empty($_REQUEST['idResource'])) { curl_setopt($curl, CURLOPT_URL, $url . '/'); if (($_REQUEST['method'] == 'post' || !isset($_REQUEST['method']))&& isset($_REQUEST['xmlFile'])) { - $xmlAtomFileContent = file_get_contents($_REQUEST['xmlFile']); - curl_setopt($curl, CURLOPT_POSTFIELDS, 'atomFileContent=' . $xmlAtomFileContent); - curl_setopt($curl, CURLOPT_POST, 1); + $xmlAtomFileContent = file_get_contents($_REQUEST['xmlFile']); + curl_setopt($curl, CURLOPT_POSTFIELDS, 'atomFileContent=' . $xmlAtomFileContent); + curl_setopt($curl, CURLOPT_POST, 1); } else { - //GET, PUT, DELETE METHOD - curl_setopt($curl, CURLOPT_CUSTOMREQUEST, strtoupper($_REQUEST['method'])); + //GET, PUT, DELETE METHOD + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, strtoupper($_REQUEST['method'])); } //POST CONTENT