WebService::Cmis - Perl interface to CMIS-compliant document management systems


    use WebService::Cmis;

    my $client = WebService::Cmis::getClient(
      url => "http://.../alfresco/service/cmis",
      user => "...",
      password => "..."

    my $repo = $client->getRepository;
    my $root = $client->getRootFolder;


This library provides a CMIS client library for Perl that can be used to work with CMIS-compliant repositories such as Alfresco, IBM FileNet, Nuxeo and others. CMIS is an OASIS approved specification with backing by major ECM players including those mentioned as well as Microsoft, Oracle, and SAP.

CMIS providers must expose both Web Services and Restful AtomPub bindings. WebService::Cmis uses the Restful AtomPub binding to communicate with the CMIS repository. All you have to tell WebService::Cmis is the repository's service URL and your credentials. There is nothing to install on the server side.

See the for a full understanding of what CMIS is.


getClient(%args) -> WebService::Cmis::Client

static method to create a cmis client. The client serves as an agent to fulfill all operations while contacting the document management system.


static utility to write debug output to STDERR. Set the CMIS_DEBUG environment variable to switch on some additional debug messages.


Please report any bugs or feature requests to bug-webservice-cmis at, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc WebService::Cmis

You can also look for information at:

  • Github

  • Meta CPAN

  • AnnoCPAN: Annotated CPAN documentation

  • CPAN Ratings


This implementation is inspired by the Pyhton implementation written by Jeff Potts.


Michael Daum <>


Copyright 2012 Michael Daum

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See