marklogicml-gradle

Creating WebDAV server using mlGradle


I am in the process of setting up a WebDav server using mlGradle with the following payload:

{
  "server-name": "%%NAME%%-webdav",
  "group-name": "%%GROUP%%",
  "content-database": "%%DATABASE%%",
  "server-type": "webdav",
  "enabled": true,
  "root": "/",
  "port":  8099,
  "authentication": "digest"
}

However, I encounter the following error when executing mlDeploy:

* What went wrong:
Execution failed for task ':mlDeployApp'.
> 400 Bad Request: "{"errorResponse":{"statusCode":"400", "status":"Bad Request", "messageCode":"MANAGE-INVALIDPAYLOAD", "message":"MANAGE-INVALIDPAYLOAD: (err:FOER0000) Payload has errors in structure, content-type or values. Server database missing."}}"

Could someone help me in resolving this issue?


Solution

  • I spent some time reviewing the MarkLogic code and discovered a section where the "webDAV" server needs the modules database to be configured. I can't believe I overlooked that; it was a simple error.

    enter image description here

    Upon reviewing these lines in MarkLogic, I adjusted my payload accordingly, and it was successful.

    Updated Payload is :

    {
      "server-name": "%%NAME%%-webdav",
      "group-name": "%%GROUP%%",
      "modules-database": "%%MODULES_DATABASE%%",
      "server-type": "webdav",
      "enabled": true,
      "root": "/",
      "port":  8099,
      "authentication": "digest"
    }