Confluence Command Line Interface

Installation | Usage | Compatibility | Examples | Help text | Error handling | License | Release History | Open Issues
Name Confluence CLI
Vendor Bob Swift and other contributors
Authors Bob Swift
Homepage http://confluence.atlassian.com/display/CONFEXT/Confluence+Command+Line+Interface
Issue Management http://developer.atlassian.com/jira/browse/CSOAP
Continuous Integration n/a
Categories Remote Access
Most Recent Version 1.3.0
Availability Confluence v2.5.2 to v3.0.0_01
State Stable
Support Unsupported Plugins
License Freeware / Open Source (BSD)
Price Free
Release Docs http://confluence.atlassian.com/display/CONFEXT/Confluence+Command+Line+Interface
Java API Docs n/a
Download Source http://svn.atlassian.com/svn/public/contrib/confluence/confluence-cli/trunk/
Download JAR confluence-cli-1.3.0-distribution.zip

Additional support information

JVM requirements
for client
1.x.x - Java 1.5 and above
0.7.0 - Java 1.4 and above

Command line interface client for Confluence

This is a command line interface (CLI) for remotely accessing Confluence using SOAP APIs. This provides a convenient way to automate Confluence administration and include Confluence content as part of other automation. Examples are build and test automation or other business processes. This is a working command line client that can be used directly with your installation. It uses Confluence's SOAP remote API. It also serves as an example for writing a Java SOAP client for Confluence. Confluence SOAP Client in Java provides some historical information.

Additional information

Installation

  • Unzip the distribution package and put the enclosed directory in a convenient location
  • Ensure Remote API is enabled in your Confluence installation
    • You need to be a Confluence administrator
    • Go to General Administration under Remote API
    • Setting should be YES

Usage

  • On a command line, cd to the directory where you installed the client
  • On Windows
    • Run confluence
  • On Linux (or Windows)
    • Run java -jar release/confluence-cli-1.2.0.jar
  • This will show help text for the command line interface client
  • The client defaults to use a user of automation. Either add this user with all the authorities required to do the actions you want or specify a different user parameter
  • It is recommended that you open the confluence.bat file with an editor and customize it for your environment by adding server, user, and password parameters. Follow the example in the comments and make sure you do not remove the %* at the end of the line.

Downloads for version 1.0 and up

Date 2009-Jan 2009-Feb 2009-Mar 2009-Apr 2009-May 2009-Jun 2009-Jul
Hits 80 90 93 99 115 95 12

Compatibility

CLI 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Tested release Download
1.3.0 1 2.5.2, 2.7.1, 2.8 zip
1.2.0 1 2.5.2, 2.7.1, 2.8 zip
1.1.0 1 2.5.2, 2.7.1, 2.8-m9-r3 zip
1.0.0 1 2.5.2, 2.7.1, 2.8-m7-r2 zip
0.7.0 2.5.2, 2.7.1 zip
0.6.0           2.2.9 zip
0.5.0           2.2.9  
0.4.0           2.2.9  
0.3.0                 zip
Footnotes

1 - Some permissions functions do not work correctly on 2.5

Examples

  • This information is also available in the examples directory in the distribution.
  • Note: the information in this section is automatically generated, so if you have edit suggestions, add a comment. Otherwise, your edits will likely be replaced on the next update.
  • Note: the following examples assume that the confluence.bat file has been customized for your environment as noted above.
confluence --action addPage --title temp1 --space Test --content "This is page content \\ another line of content"

confluence --action storePage --title temp --space Test --content "This is page content \\ another line of content"

confluence --action removePage --title temp --space Test

confluence --action removePage --descendents --title html-simple --space Test

confluence --action storePage --title temp --space Test --content "This is page content \\ another line of content" --labels "testLabel1, testLabel2"

confluence --action renderPage --title temp1 --space Test --file confluence-cli\examples\output.txt

confluence --action getPageSource --title temp --space Test --file confluence-cli\examples\source.txt

confluence --action getPageList --space Test --file confluence-cli\examples\output.txt

confluence --action getPageList --title h3 --space Test --ancestors --file confluence-cli\examples\output.txt

confluence --action getPageList --title h1 --space Test --descendents --file confluence-cli\examples\output.txt

confluence --action getPageList --title h1 --space Test --children --file confluence-cli\examples\output.txt

confluence --action addComment --title temp --space Test --comment "this is a comment\\another line"

confluence --action addLabels --title temp --space Test --labels "testLabel"

confluence --action removeLabels --title temp --space Test --labels "testLabel1, testLabel2, notFound"

confluence --action addLabels --space Test --labels "spaceLabel1, spaceLabel2, spaceLabel3"

confluence --action removeLabels --space Test --labels "spaceLabel1, spaceLabel-notFound, spaceLabel2"

confluence --action addAttachment --title temp --space Test --name input.txt --content "This is page content \\ another line of content"

confluence --action getAttachment --title temp --space Test --name input.txt --file confluence-cli\examples\output.txt

confluence --action removeAttachment --title temp --space Test --name input.txt

confluence --action renamePage --title temp --space Test --newTitle temp2 --parent h1

confluence --action storeNews --title temp --space Test --content "This is page content \\ another line of content"

confluence --action storeNews --title temp --space Test --content "This is page has been updated \\ another line of content" --dayOfMonth 1

confluence --action storeNews --title temp --space Test --file confluence-cli\examples\input.txt --labels "testLabel1, testLabel2"

confluence --action getNewsSource --title temp --space Test --file confluence-cli\examples\source.txt --dayOfMonth 1

confluence --action renderNews --title temp --space Test --file confluence-cli\examples\output.txt --news

confluence --action addLabels --title temp --space Test --labels "testLabel" --dayOfMonth 1

confluence --action getLabelList --space Test --title temp --file confluence-cli\examples\output.txt --news

confluence --action getLabelList --space Test --file confluence-cli\examples\output.txt --labels "testLabel"

confluence --action getLabelList --recentlyUsed

confluence --action getLabelList --recentlyUsed --space Test

confluence --action getLabelList --mostPopular

confluence --action getLabelList --mostPopular --space Test

confluence --action getNewsList --space Test --file confluence-cli\examples\output.txt

confluence --action removeLabels --title temp --space Test --labels "testLabel1, testLabel2" --dayOfMonth 1

confluence --action removeNews --title temp --space Test

confluence --action removeNews --title temp --space Test --dayOfMonth 1

confluence --action getPermissionList --space Test --userId user2t --file confluence-cli\examples\output.txt

confluence --action getPermissionList --space Test --title h1 --file confluence-cli\examples\output.txt

confluence --action addPermissions --space Test --userId user2t --permissions "VIEWSPACE, EDITSPACE, COMMENT, SETSPACEPERMISSIONS, SETPAGEPERMISSIONS, EXPORTSPACE, EXPORTPAGE, CREATEATTACHMENT, EDITBLOG,REMOVEPAGE, REMOVECOMMENT, REMOVEBLOG, REMOVEATTACHMENT, REMOVEMAIL"

confluence --action removePermissions --space Test --userId user2t --permissions "REMOVEPAGE, REMOVECOMMENT, REMOVEBLOG, REMOVEATTACHMENT, REMOVEMAIL, SETSPACEPERMISSIONS"

confluence --action addPermissions --space Test --userId user1t --title temp1 --permissions "view, edit"

confluence --action removePermissions --space Test --userId user2t --title temp1 --permissions "EDIT"

confluence --action copyPermissions --space Test --title temp1 --newSpace Test --newTitle h3

confluence --action addPermissions --space Test --userId user1t --title h1 --permissions "EDIT" --descendents

confluence --action getPermissionList --space Test --title h1 --file confluence-cli\examples\output.txt

confluence --action addUser --userId user

confluence --action addGroup --group group

confluence --action addUserToGroup --userId user --group group

confluence --action addUserWithFile --file confluence-cli\examples\addUserWithFile.csv

confluence --action addUserToGroupWithFile --file confluence-cli\examples\addUserToGroupWithFile.csv

confluence --action getUserList

confluence --action getGroupList

confluence --action getGroupList --userId user2t

confluence --action removeUserFromGroupWithFile --file confluence-cli\examples\addUserToGroupWithFile.csv

confluence --action removeUserFromGroup --userId user --group group

confluence --action removeUserWithFile --file confluence-cli\examples\addUserWithFile.csv

confluence --action removeUser --userId user

confluence --action removeGroup --group group

confluence --action getSpace --space Test

confluence --action getSpaceList --file confluence-cli\examples\output.txt

confluence --action exportSpace --space Test --file confluence-cli\examples\output.zip

confluence --action exportSpace --space Test --file confluence-cli\examples\output.pdf --exportType PDF

confluence --action exportSpace --space Test --file confluence-cli\examples\output.html --exportType HTML

confluence --action removeSpace --space Test

confluence --action addSpace --space Test

confluence --action loadFiles --space Test --file confluence-cli\examples\html-simple --parent home --group confluence-administrators

confluence --action login > login

confluence --action logout

Using a login token

For repeated actions, the login can be done once and re-used. Write the login token to a file by redirecting stdout to a file and then re-used by using the -l flag to read it back from stdin. The token is valid for a limited time (Atlassian default of 30 minutes) and is invalid after the logout action is taken.

confluence --action login > login
confluence --action getSpaceList -l < login
confluence --action logout -l < login

Help text

This is the help text displayed by the default command or using --help. This gives the precise definition of parameters, however, it might be easier to just look at the examples. Note, the information in this section is automatically generated, so if you have edit suggestions, add a comment. Otherwise, your edits will be replaced on the next update.

Tips
  • Use single dash for single letter parameters - example: -v
  • Use double dash for multi-letter parameter - example: --help
  • When parameters are specified, most need a value - example: --action addPage
  • Some parameters are flags (boolean) and must not be followed by a value - example: --verbose
  • Parameter names are case sensitive, but, action values are not - example: --userid is invalid but --action addpage is equivalent to --action addPage
  • Some parameters become required once a specific action is chosen. This is indicated in the help text for each value.
  • Some parameters have both short (one letter) and long (more than one letter) parameter names - example: -a or --action are the same
  • Some parameters have default values, if so, they are indicated below - example: (default: automation)
  • Some parameters are required - indicated by (...) - example: (-a|--action) <action>
  • Some parameters are optional - indicated by [...] - example: [(-f|--file) <file>]
  • Values that have more than one word must be enclosed by double quotes - example: --title "this is my title"
Usage:
  confluence [--help] (-a|--action) <action> [--debug] [-v|--verbose]
  (-s|--server) <server> (-u|--user) <user> (-p|--password) <password> [--login
  <login>] [--service <service>] [-l|--loginFromStandardInput] [(-t|--title)
  <title>] [(-f|--file) <file>] [(-c|--content) <content>] [--comment <comment>]
  [--parent <parent>] [--name <name>] [--labels <labels>] [--newTitle <newTitle>]
  [--space <space>] [--newSpace <newSpace>] [--userId <userId>] [--userFullName
  <userFullName>] [--userEmail <userEmail>] [--userPassword <userPassword>]
  [--group <group>] [--defaultGroup <defaultGroup>] [--permissions <permissions>]
  [--dayOfMonth <dayOfMonth>] [--count <count>] [--exportType <exportType>]
  [--mime <mime>] [--findReplace <findReplace>] [--news] [--exportAttachments]
  [--mostPopular] [--recentlyUsed] [--ancestors] [--descendents] [--children]
  [--replace]


	Provides capability to make requests to a remote server.
	Required parameters: action, server, password.
	Optional parameters: user (likely required for your installation).
	Other required and optional parameters depending on action requested.


  [--help]
        Prints this help message.

  (-a|--action) <action>
        Requested operation to perform. Valid actions (not case sensitive) are:
        
        login - Login to remote server. Returns login token.
        	 Required parameters: password
        	 Optional parameters: user
        logout - Logout of remote server.
        addPage - Add a new page.
        	 Required parameters: space, title, content, file
        	 Optional parameters: parent, labels, replace, findReplace
        storePage - Create or update a page.
        	 Required parameters: space, title, content, file
        	 Optional parameters: parent, labels, findReplace
        removePage - Remove a page and, optionally, all descendents.
        	 Required parameters: space, title
        	 Optional parameters: descendents
        copyPage - Create or update a page from a source page.
        	 Required parameters: space, title, newSpace or newTitle
        	 Optional parameters: parent, labels, replace, findReplace
        renamePage - Rename or move a page.
        	 Required parameters: space, title, newTitle
        	 Optional parameters: parent
        getSource - Get page or news wiki text. Put to a file if specified.
        	 Required parameters: space, title
        	 Optional parameters: file, news, dayOfMonth
        render - Render page or news.
        	 Required parameters: space, title
        	 Optional parameters: file, news, dayOfMonth
        addAttachment - Add an attachment.
        	 Required parameters: space, title, file or content and name
        	 Optional parameters: mime, comment
        getAttachment - Get an attachment and put to a file.
        	 Required parameters: space, title, name, file
        removeAttachment - Remove an attachment.
        	 Required parameters: space, title, name
        addComment - Add a comment to a page or news.
        	 Required parameters: space, title, comment or content or file
        addLabels - Add labels to a page, news or space.
        	 Required parameters: space, labels
        	 Optional parameters: title, news, dayOfMonth
        removeLabels - Remove labels to a page, news or space.
        	 Required parameters: space, labels
        	 Optional parameters: title, news, dayOfMonth
        addNews - Add a news (blog) entry.
        	 Required parameters: space, title, file or content
        	 Optional parameters: dayOfMonth, labels, replace
        storeNews - Add or update a news (blog) entry.
        	 Required parameters: space, title, file or content
        	 Optional parameters: dayOfMonth, labels, replace
        removeNews - Remove a news (blog) entry.
        	 Required parameters: space, title
        	 Optional parameters: dayOfMonth
        getNewsSource - Get wiki text for a news (blog) entry. Put to a file if
        specified.
        	 Required parameters: space, title
        	 Optional parameters: dayOfMonth, file
        renderNews - Render a news (blog) entry. Put to a file if specified.
        	 Required parameters: space, title
        	 Optional parameters: dayOfMonth, file
        addUser - Add a new user.
        	 Required parameters: userId
        	 Optional parameters: userFullName, userEmail, userPassword
        addUserWithFile - Add users from comma separated file.
        	 Required parameters: file
        removeUser - Add a new user.
        	 Required parameters: userId
        removeUserWithFile - Remove users from comma separate file.
        	 Required parameters: file
        addGroup - Add a new group.
        	 Required parameters: group
        removeGroup - Remove a group.
        	 Required parameters: group
        addUserToGroup - Add user to a group.
        	 Required parameters: userId, group
        addUserToGroupWithFile - Add users to groups from comma separated file.
        	 Required parameters: file
        removeUserFromGroup - Remove user from a group.
        	 Required parameters: userId, group
        removeUserFromGroupWithFile - Remove users from groups from comma
        separated file.
        	 Required parameters: file
        addPermissions - Add permissions to page or space.
        	 Required parameters: space, permissions, userId or group
        	 Optional parameters: title, descendents
        removePermissions - Remove permissions from page or space.
        	 Required parameters: space, permissions, userId or group
        	 Optional parameters: title, descendents
        copyPermissions - Copy page permissions from a page to another page.
        	 Required parameters: space, title
        	 Optional parameters: newSpace, newTitle
        removeAllPermissionsForGroup - Remove all permissions for a group.
        	 Required parameters: group
        addSpace - Add a new space.
        	 Required parameters: space or userId
        removeSpace - Remove a space.
        	 Required parameters: space or userId
        getSpace - Get space information.
        	 Required parameters: space
        getSpaceList - Get list of spaces. Put to a file if specified.
        	 Required parameters: space
        	 Optional parameters: file
        getPageList - Get list of pages. Put to a file if specified.
        	 Required parameters: space
        	 Optional parameters: title, ancestors, descendents, children, file
        getNewsList - Get list of news items. Put to a file if specified.
        	 Required parameters: space
        	 Optional parameters: ancestors, descendents, children, file
        getLabelList - Get list of labels. Put to a file if specified.
        	 Optional parameters: space, title, news, mostPopular, recentlyUpdated,
        file
        getPermissionList - Get list of user or page permissions. Put to a file
        if specified.
        	 Required parameters: space
        	 Optional parameters: title, userId, file
        getUserList - Get list of users. Put to a file if specified.
        	 Optional parameters: file
        getGroupList - Get list of groups. Put to a file if specified.
        	 Required parameters: userId
        	 Optional parameters: file
        exportSpace - Export a space to a file
        	 Required parameters: space, exportType, file
        exportSite - Export site backup to a file
        	 Required parameters: file
        loadFiles - BETA. Load directory and files into a page hierarchy. HTM,
        HTML, and text files converted to pages. All other files added as
        attachments.
        	 Required parameters: space, file
        	 Optional parameters: title, content, parent, userid, group, replace

  [--debug]
        Requests debug output, example: stack traces.

  [-v|--verbose]
        Requests verbose output.

  (-s|--server) <server>
        Server URL.

  (-u|--user) <user>
        User name for remote login. (default: automation)

  (-p|--password) <password>
        User password for remote login.

  [--login <login>]
        Login token from previous login request.

  [--service <service>]
        Service address extension. (default:
        /rpc/soap-axis/confluenceservice-v1)

  [-l|--loginFromStandardInput]
        Get login token from standard input.

  [(-t|--title) <title>]
        Page or news title.

  [(-f|--file) <file>]
        Path to file based content for attachments, pages, etc...

  [(-c|--content) <content>]
        Content for page, attachment or comment. (default: )

  [--comment <comment>]
        Comment text for comment or attachment comment. (default: )

  [--parent <parent>]
        Parent page name.

  [--name <name>]
        File name for attachment.

  [--labels <labels>]
        Comma separated list of labels.

  [--newTitle <newTitle>]
        New title of renamed page.

  [--space <space>]
        Space key.

  [--newSpace <newSpace>]
        New space key.

  [--userId <userId>]
        User id for user management and other actions

  [--userFullName <userFullName>]
        User name for user management actions

  [--userEmail <userEmail>]
        User email for user management actions

  [--userPassword <userPassword>]
        User password for user management actions

  [--group <group>]
        Group for user management actions

  [--defaultGroup <defaultGroup>]
        Default group to move users on removeGroup action.

  [--permissions <permissions>]
        Comma separated list of permissions.
        	Page permissions:
        		view, edit
        	Space permissions:
        		viewsspace, editspace, comment, editblog, createattachment, 
        		removepage, removecomment, removeblog, removeattachment, removemail, 
        		setpagepermissions, setspacepermissions, 
        		exportpage, exportSpace

  [--dayOfMonth <dayOfMonth>]
        Day of month for news entry. Use negative values for going back to
        previous months. (default: 0)

  [--count <count>]
        Maximum count of entries to return. (default: 2147483647)

  [--exportType <exportType>]
        Export type (XML, HTML, PDF) for space export. (default: XML)

  [--mime <mime>]
        Attachment mime type if you want to override determination by file
        extension.

  [--findReplace <findReplace>]
        Find and replace text.

  [--news]
        Parameters represent a news item.

  [--exportAttachments]
        Export attachments for site export.

  [--mostPopular]
        Request most popular labels.

  [--recentlyUsed]
        Request recently used labels.

  [--ancestors]
        Ancestors for a page.

  [--descendents]
        All descendents for a page.

  [--children]
        Immediate children for a page.

  [--replace]
        Replace existing entity.

Error handling

Care is taken to return the appropriate exit codes to the command processor. This makes it possible do error handling in automation scripts. Error and error logging output is directed to standard error.

Error type Exit code Description
SUCCESS 0 Normal exit
CLIENT_EXCEPTION -1 The client has found a problem with the request and is reporting an error with a message.
PARAMETER_PROBLEM -2 The client processed the command parameters and found a syntax error or missing required parameters according to the parameter definition
REMOTE_EXCEPTION -3 The remote system has reported an error. The error message comes from the server.
FAILURE -99 The client program failed in an unexpected way.;

License

  • The software provided for this tool has a BSD style license
  • The distribution ships binaries with various licenses (BSD, LGPL, and Apache)
  • Look in the license directory for detailed license information

Release History

Version Date State License Price
Show description 1.3.0 (#13) 20 May 2008 Stable Freeware / Open Source (BSD) Free

Release Notes

The JIRA server does not support trust requests. Issues have been retrieved anonymously. You can set the macro to always use an anonymous request by setting the anonymous parameter to true
JIRA Issues (5 issues)
Key Priority Summary Updated asignee Reporter Status
CSOAP-26 Major Add ability to copy descendents or children on copyPage May 20, 2008 Bob Swift Closed
CSOAP-25 Major Refactor to use new common CLI code May 20, 2008 Bob Swift Closed
CSOAP-23 Major Add capability to replace text on storePage and copyPage May 20, 2008 Bob Swift Closed
CSOAP-22 Minor Personal space support in addSpace and removeSpace actions is not documented May 20, 2008 Bob Swift Closed
CSOAP-20 Major Handle login timeout on loading users and groups from a file May 20, 2008 Bob Swift Closed

Contributors

  • Bob Swift — Developer

Show description 1.2.0 (#12) 16 Apr 2008 Stable Freeware / Open Source (BSD) Free

Release Notes

The JIRA server does not support trust requests. Issues have been retrieved anonymously. You can set the macro to always use an anonymous request by setting the anonymous parameter to true
JIRA Issues (3 issues)
Key Priority Summary Updated asignee Reporter Status
CSOAP-19 Major Add descendents support for remove page, add/remove page permissions Apr 16, 2008 Bob Swift Closed
CSOAP-17 Major copyPage action not working Apr 16, 2008 Bob Swift Closed
CSOAP-16 Major Load files support - experimental Apr 16, 2008 Bob Swift Closed

Contributors

  • Bob Swift — Developer

Show description 1.1.0 (#11) 07 Apr 2008 Stable Freeware / Open Source (BSD) Free

Release Notes

The JIRA server does not support trust requests. Issues have been retrieved anonymously. You can set the macro to always use an anonymous request by setting the anonymous parameter to true
JIRA Issues (4 issues)
Key Priority Summary Updated asignee Reporter Status
CSOAP-15 Major Refactoring Apr 08, 2008 Bob Swift Closed
CSOAP-14 Major Add support for page and space permissions Apr 08, 2008 Bob Swift Closed
CSOAP-13 Major Expand API coverage Apr 08, 2008 Bob Swift Closed
CSOAP-8 Major To enable addLabels feature for news Apr 08, 2008 Sim Hua Soon Resolved

Contributors

  • Bob Swift — Developer

Show description 1.0.0 (#10) 24 Mar 2008 Stable Freeware / Open Source (BSD) Free

Release Notes

The JIRA server does not support trust requests. Issues have been retrieved anonymously. You can set the macro to always use an anonymous request by setting the anonymous parameter to true
JIRA Issues (4 issues)
Key Priority Summary Updated asignee Reporter Status
CSOAP-12 Major Restructure to use Confluence SOAP client library Mar 27, 2008 Bob Swift Closed
CSOAP-11 Major Exception while getting page list for a space Mar 27, 2008 Richard Michalsky Closed
CSOAP-7 Major Add attachments options for exportSite Mar 27, 2008 Bob Swift Closed
CSOAP-5 Minor Move source into SVN Sep 16, 2007 Bob Swift Closed

Contributors

  • Bob Swift — Developer

Older history

Date Release Notes
Apr 15, 2007 0.7 Get space and space list CSOAP-6
Mar 31, 2007 0.6 Label support CSOAP-3
Attachment mime type correction CSOAP-4
Feb 12, 2007 0.5 Get page source CSOAP-1
Get page list CSOAP-2
Dec 2, 2006 0.4 Added add/remove space
Updated WSDL to Confluence 2.2.9
Eclipse definitions
July 17, 2006 0.3 Added renamePage function
May 13, 2006 0.2 Added user management functions
Added Windows bat file
Feb 27, 2006 0.1 Initial release

Open Issues

jiraissues: Unable to determine if sort should be enabled

Labels

client client Delete
soap soap Delete
cli cli Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Mar 03, 2006

    Rainer Bugow says:

    I tried to upload a 10 Mb file and got this result: X:\confluence\javaclient&...

    I tried to upload a 10 Mb file and got this result:

    X:\confluence\javaclient>java -jar release/confluence-soap-0.1.jar --server http://lotto:8080 --user admin --password **** --action addAttachment  --space Test --title att --file x:\Stefan.avi
    Successful login to: http://lotto:8080/rpc/soap/confluenceservice-v1
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    

    Files < 8Mb work fine, what is limiting the file size ?
    (Confluence 2.1.4 - Attachment max size 1.000 MB - -Xmx512m)

    1. Mar 03, 2006

      Bob Swift says:

      The client JVM is out of memory. Up the JVM memory when running the command. Try...

      The client JVM is out of memory. Up the JVM memory when running the command. Try someting like:

      java -Xmx256m -jar ...
      
      1. yesterday at 04:10:08

        Harish says:

        Hi, I am new to SOAP and Confluence command line support. I am trying to use thi...

        Hi,
        I am new to SOAP and Confluence command line support.
        I am trying to use this implementation in one my web application, I could able to upload small files. but we wanted to use confluence as our content repository. so I want to upload large size files in to server which I am unable to do so.
        I tried running the command line jar with -Xmx256m option even then I am getting error like

        Remote error: java.lang.OutOfMemoryError: Java heap space; nested exception is:
        java.lang.OutOfMemoryError: Java heap space
        Use -v option to get more details on the failure.
        AxisFault
        faultCode:

        Unknown macro: {http}

        Server.generalException
        faultSubcode:
        faultString: java.lang.OutOfMemoryError: Java heap space; nested exception is:
        java.lang.OutOfMemoryError: Java heap space
        faultActor:
        faultNode:
        faultDetail:
        {}faultData:null

        Unknown macro: {http}

        hostname:CERN-HS016425-1

        java.lang.OutOfMemoryError: Java heap space; nested exception is:
        java.lang.OutOfMemoryError: Java heap space
        at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
        at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
        at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.di
        spatch(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
        at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
        at com.dolby.atlassian.confluence.soap.model.confluence.ConfluenceserviceV1SoapBindingStub.addAttachme
        nt(ConfluenceserviceV1SoapBindingStub.java:4421)
        at org.swift.confluence.cli.ConfluenceClient.addAttachment(ConfluenceClient.java:1005)
        at org.swift.confluence.cli.ConfluenceClient.addAttachment(ConfluenceClient.java:958)
        at org.swift.confluence.cli.ConfluenceClient.handleRequest(ConfluenceClient.java:277)
        at org.swift.common.cli.AbstractRemoteClient.process(AbstractRemoteClient.java:86)
        at org.swift.common.cli.CliClient.doWork(CliClient.java:144)
        at org.swift.confluence.cli.ConfluenceClient.main(ConfluenceClient.java:93)
        wz28id05L7 logged out.

        Even I tried options like -Xmx1024m -Xmx10240m and didn't get success, please let me know is there a way to upload part by part like how we do it normal file reading and writing

        Thanks

        1. yesterday at 12:17:33

          Bob Swift says:

          I think you are getting a server side memory error. Check your server logs and s...

          I think you are getting a server side memory error. Check your server logs and server memory settings. I believe memory issues with attachments is a known confluence issue that may only have been addressed resently. Sorry, I can not look it up for you as I am using my phone.

  2. Feb 01, 2007

    Ersin Er says:

    Why isn't there any getPageContent method?

    Why isn't there any getPageContent method?

    1. Feb 01, 2007

      Bob Swift says:

      If you meant rendered content then: renderPage - goes to stdout or to a file If ...

      If you meant rendered content then: renderPage - goes to stdout or to a file
      If you meant source then that is missing, I have attached a pre-release jar file that contains it. Let me know if there are other things you are looking for.

      1. Feb 01, 2007

        Ersin Er says:

        Thank you very much for this quicj fix. It might also be nice to have a getAllPa...

        Thank you very much for this quicj fix. It might also be nice to have a getAllPagesNames method which takes a space name as a parameter.

        1. Feb 13, 2007

          Bob Swift says:

          Done as getPageList in 0.5 together with the getPageSource

          Done as getPageList in 0.5 together with the getPageSource

  3. Feb 07, 2007

    Frank Stiller says:

    I have tried to add some users with --adduserwithfile but only half of the users...

    I have tried to add some users with --adduserwithfile but only half of the users could be added.

    When i take only the not added users as a base he says Error reading file

    I cant use it when i am not sure that he did something, in a large batch job there isnt any log where i can see what he has done and what not. Can you give me a hint why he cant read half of the userfile? And is there a logging method, so i can see what he read or not read?

    1. Feb 07, 2007

      Bob Swift says:

      It produces a stdout log something like the example below. If it is a batch job...

      It produces a stdout log something like the example below. If it is a batch job, you need to redirect stdout to a file. You can also turn on verbose listing with -v option. You should just be able to re-run the request to see the errors since if the user already exists, it just reports that and moves on.

      C:\development\Confluence\confluence-soap>java -jar release/confluence-soap-0.4.jar --server http://server1:81 --password automation --action adduserwithfile --
      file addUserWithFile.csv
      Successful login to: http://server1:81/rpc/soap/confluenceservice-v1
      User: user1 added with password: i1cbuokfio3t.  Full name is: user1.  Email is: .
      User: user2 added with password: password2.  Full name is: Full User Name 2.  Email is: email2.
      User: user3 added with password: kue9agc6gu7j.  Full name is: Full User Name 3.  Email is: email3.
      Group: group1 added.
      ...
      Successful adds: 5  errors: 0  already defined users: 0
      
      1. Feb 08, 2007

        Frank Stiller says:

        For me it looks more like this: D:\Sources\confluence\confluence-soap-0.4>...

        For me it looks more like this:

        D:\Sources\confluence\confluence-soap-0.4>java -jar release/confluence-soap-0.4.jar --server http://wka-wn-r6t4:81 --password auto123 --action addUserWithFile --file singleUsers.csv
        Successful login to: http://wka-wn-r6t4:81/rpc/soap/confluenceservice-v1
        User: user1 added with password: xyz123.  Full name is: Full User Name 1.  Email is: Full1@email.de.
        User user1 added to group myExisting Group
        Error reading file: singleUsers.csv
        

        and my singleUsers.csv contains:

        user1, xyz123, Full1@email.de, User1, myExisting Group
        user2, xyz123, Full2@email.de, User2, myExisting Group
        user3, xyz123, Full3@email.de, User3, myExisting Group

        1. Feb 08, 2007

          Bob Swift says:

          It is getting an IOException. If you specify -v (verbose option) you will see t...

          It is getting an IOException. If you specify -v (verbose option) you will see the exception details. It appears something is wrong with the file. Attach it here if you can't figure it out yourself and I will check it out.

  4. Mar 20, 2007

    Jeff Schnitter says:

    Bob, Just wanted to say thanks for a totally awesome utility. My company went ...

    Bob,

    Just wanted to say thanks for a totally awesome utility. My company went live on Confluence about 3 months ago and we have been using it like crazy. Ever since I've been searching for a way to tie Confluence together with my build process. I wanted a way to integrate unattended builds with notifications in Confluence. This awesome utility gives me exactly what I need.

    It worked "right out of the box" for me. I tested adding attachments and comments to a page. Perfect! I got an email notification for a page I was watching after the comment was added to the page.

    I envision having something like a build page for each release I support. I can ask users to sign up for Notifications to the page. I can add a comment dynamically from an Ant build each time a build completes. Users will then get notified from Confluence that builds are complete. I can also opt to attach the installer to the page and allow users to download it from the Confluence page.

    Great product. Great utility. Great people. Thanks for everything.

    Jeff Schnitter

    1. Mar 20, 2007

      Bob Swift says:

      Thanks for the kind words. Actually, build automation was one of the motivation...

      Thanks for the kind words. Actually, build automation was one of the motivations for me as well, although, we actually did not change our legacy build system to use it yet.

  5. Jun 05, 2007

    lars mueller says:

    hello, how do i get the confluence soap client to work with a server using ssl?...

    hello,

    how do i get the confluence soap client to work with a server using ssl?

    I tried to import the servers certificate using keytool.exe (keytool.exe -import -trustcacerts -file file.cer -keystore ..\lib\security\cacerts) and i still get no connection.. error is like:

    BuilderExcption: unable to find valid certification path to request target 

    i was ablo to import the functionality of the client into my current project and am ablo to connect to a server running without ssl.

    I also tried to load the certfile into the project,  which actually worked but still i dont get a connection to an https url.

    Has anybody a working https version of the confluence soap client?

    Well i think it could be done using a  SSLSocketFactory, i found some sample code but then i would have to implement the whole soap functionality , or is there a simple way to tell the ConfluenceSoapService to use this Socket??

    1. Jun 05, 2007

      Dan Hardiker says:

      Make sure that Java is using your key store: System.setProperty("javax.net.s...

      Make sure that Java is using your key store:

      System.setProperty("javax.net.ssl.trustStore", "/etc/.keystore");
      System.setProperty("javax.net.ssl.trustStorePassword", "secret");
      

      Obviously change the location to suit you, and you can use -Dproperty.name=propertyValue on the command line too.

      1. Jun 05, 2007

        lars mueller says:

        Well i already tried that: C:\Dokumente und Einstellungen\lmueller\Desktop\conf...

        Well i already tried that:

        C:\Dokumente und Einstellungen\lmueller\Desktop\confluence_soap_client\release>j
        ava -Djavax.net.ssl.trustStore=../../../.keystore -Djavax.net.ssl.trustStorePass
        word=changeit -jar confluence-soap-0.7.jar --user xxx --password xxx -
        -server https://xxx.xx/confluence --space xxx --title xxx --action
        renderPage -v

        And also out of the project itself:

        System.setProperty("javax.net.ssl.trustStore", "C:/Dokumente und Einstellungen/lmueller/.keystore");
        System.setProperty("javax.net.ssl.trustStorePassword", "xxx");
        String token;
        ConfluenceSoapService service;
        ConfluenceServiceLocator confluenceServiceLocator = new ConfluenceServiceLocator();
        confluenceServiceLocator.setConfluenceSoapServiceEndpointAddress(url);
        service = confluenceServiceLocator.getConfluenceSoapService();
        token = service.login(user, pass);
        RemotePage rp = service.getPage(token, space, "home");
        System.out.println(rp.getContent());:x

  6. Jun 14, 2007

    Andy Brook says:

    Um, please repackage your zip (eg confluence-soap-client-0.7) so a folder gets c...

    Um, please repackage your zip (eg confluence-soap-client-0.7) so a folder gets created.  The one time I don't check first I get junk everywhere

    1. Mar 27, 2008

      Bob Swift says:

      1.0.0 should unpack correctly.

      1.0.0 should unpack correctly.

  7. Aug 21, 2007

    Garnet R. Chaney says:

    The download .ZIP file is corrupt. "confluence-soap-0.7.zip: Unexpected end of a...

    The download .ZIP file is corrupt. "confluence-soap-0.7.zip: Unexpected end of archive"
    Winzip pro and Vista are both complaining about broken archives for all the downloads of the attachments to this page.

    1. Aug 21, 2007

      Bob Swift says:

      Try again - it seems to be ok. At least it unpacks successfully using 7-zip.

      Try again - it seems to be ok. At least it unpacks successfully using 7-zip.

  8. Sep 04, 2007

    Jeff Schnitter says:

    Hi Bob, I have a question about the StoreNews action. When I add news to a pag...

    Hi Bob,

    I have a question about the StoreNews action. When I add news to a page using StoreNews and then check the news item in Confluence, it shows that it was created by Anonymous and last edited by me.

    If I use the StorePage action, Confluence shows that the page was both added by me and last updated by me.

    I'd like the StoreNews action to work the same way so that news items show that they were posted by me and not Anonymous.

    Here are my command line parameters:

    C:\apps\confluence-soap-0.7>java -jar release/confluence-soap-0.7.jar 
    --server https://myserver 
     --user jeff.schnitter --password xxxxxxxx --action storeNews --title "Remote" --space 
    ~jeff.schnitter --file news.txt --userId jeff.schnitter --userFullName
     "Jeff Schnitter"
    

    Am I doing something wrong or is this working as designed?

    1. Aug 31, 2007

      Bob Swift says:

      --user should do it. Note that the userId and userFullName parameters are ignor...

      --user should do it. Note that the userId and userFullName parameters are ignored for this function.

  9. Sep 04, 2007

    Jeff Schnitter says:

    I am already passing --user and I retried after removing userId and userFullName...

    I am already passing --user and I retried after removing userId and userFullName and get the same result. If I look at the news posting, I see this:

     Added by Anonymous, last edited by Jeff Schnitter  on Sep 04, 2007
    Labels: 
    (None) EDIT
    

    Does the storeNews function properly update the "Added by" value when you use it?

    1. Sep 04, 2007

      Bob Swift says:

      Hmmm... well I thought it was ok last time I tried, but, when I tried it now I c...

      Hmmm... well I thought it was ok last time I tried, but, when I tried it now I can see the problem. I don't see any logic problem with the client code. Might be a problem with the soap interface.

  10. Sep 20, 2007

    Royce Wong says:

    There is a mistake on your doc on this page and also in readme.txt. confluence...

    There is a mistake on your doc on this page and also in readme.txt.

    confluence --action addAttachment --title remote --space Test --name input.txt --content "This is page content
    another line of content"

    should be

    confluence --action addAttachment --title remote --space Test --name input.txt --file c:\input.txt

    1. Sep 20, 2007

      Bob Swift says:

      Both are correct usages, the second one being the most useful.

      Both are correct usages, the second one being the most useful.

  11. Oct 01, 2007

    Gary S. Weaver says:

    I'm not sure if this interests you or not, but if you migrate the project over t...

    I'm not sure if this interests you or not, but if you migrate the project over to Maven 2, you can use the following to gen the SOAP client (we used this in the Custom Space User Management plugin):

    ...
    <!-- target = axistools:wsdl2java -->
    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>axistools-maven-plugin</artifactId>
    <configuration>
    <sourceDirectory>wsdl</sourceDirectory>
    <packageSpace>your.plugin.package.someapi.soap</packageSpace>
    <testCases>false</testCases>
    <serverSide>false</serverSide>
    <subPackageByFileName>true</subPackageByFileName>
    </configuration>
    <executions>
    <execution>
    <goals>
    <goal>wsdl2java</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
    ...
    <pluginRepository>
    <id>codehaus.org</id>
    <name>CodeHaus Plugin Snapshots</name>
    <url>http://repository.codehaus.org</url>
    <releases>
    <enabled>true</enabled>
    </releases>
    <snapshots>
    <enabled>false</enabled>
    </snapshots>
    </pluginRepository>
    ...
    

    And then pop in the wsdl file in the sourceDirectory: ./wsdl (I think you can also use URLs, etc. - I think I decided on doing it locally so I had more control over it).

  12. Oct 04, 2007

    Andy Brook says:

    I pulled the wsdl from http://confluence.atlassian.com/rpc/soap-axis/confluences...

    I pulled the wsdl from http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1?wsdl and generated the client stub code via maven2, but the login call seems to be bad, can anyone see the mistake?

    The following fails saying there is no login method, yet the wsdl supported it... any clues?

    ConfluenceSoapServiceServiceLocator confluenceSoapServiceGetter=new ConfluenceSoapServiceServiceLocator();
    confluenceSoapServiceGetter.setConfluenceserviceV1EndpointAddress("http://server/kb/rpc/soap-axis/confluenceservice-v1");
    ConfluenceSoapService confluenceSoapService = confluenceSoapServiceGetter.getConfluenceserviceV1();
    String token = confluenceSoapService.login("user", "pass");
    
    GOES BANG HERE with: No such operation 'login'
    
    System.out.println("logged in");
    

    My confluence version is: 2.5.6, build 812

    Part of the problem may be that the Remote API Spec links to a WSDL file, yet the same URL on my confluence server yields something else, below. Remote API access is enabled :

    "http://server/kb/rpc/soap-axis/confluenceservice-v1">
    
    "ConfluenceSoapService">
    
     "confluenceservice-v1SoapBinding" type="impl:ConfluenceSoapService">
       "rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    
    	"ConfluenceSoapServiceService">
    	"impl:confluenceservice-v1SoapBinding" name="confluenceservice-v1">
    "http://server/kb/rpc/soap-axis/confluenceservice-v1"/>
    
    
    

    cheers,
    andy.

  13. Oct 25, 2007

    Imtiaz B Syed says:

    Hi.... I want to use remote api but am not able to login. Its throwing exceptio...

    Hi....

    I want to use remote api but am not able to login. Its throwing exceptions while logging in.

    Version Specification:

    1. Using confluence-v2.5.6
    2. Confluence-soap-0.7.jar

    And i have another version Confluence-v2.6.0, Please suggest to this version also if any thing i need to include to use soap in this version.

    Please provide answers for both the versions.

    1. Oct 25, 2007

      Andy Brook says:

      Exception stack would be good.  Also, check you haven't got the ticket in t...

      Exception stack would be good.  Also, check you haven't got the ticket in the wrong place, its always first...

      re:required jars, in 2.5.6, with a maven2 build, just use this to resolve, cant say for 2.6.x though:

      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <dependency>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <groupId>com.atlassian.confluence</groupId>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <artifactId>confluence</artifactId>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <version>2.5.3</version>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <scope>provided</scope>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </dependency>
      
      1. Oct 26, 2007

        Imtiaz B Syed says:

        I tried out what u suggest. I placed the given tags in confluence\pom.xml under ...

        I tried out what u suggest. I placed the given tags in confluence\pom.xml under tags and after executing the compile command "mvn compile", build failed.

        \[INFO\] Scanning for projects...
        \[INFO\] \-----------------------------------------------------------------------\-
        \[ERROR\] BUILD FAILURE
        \[INFO\] \-----------------------------------------------------------------------\-
        \[INFO\] The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='com.atlassian.confluence:confluenc
        e'}' and 'Vertex{label='com.atlassian.confluence:confluence'}' introduces to cycle in the graph com.atlassian.confluence:conf
        luence \--> com.atlassian.confluence:confluence
        \[INFO\] \-----------------------------------------------------------------------\-
        \[INFO\] For more information, run Maven with the \-e switch
        \[INFO\] \-----------------------------------------------------------------------\-
        \[INFO\] Total time: < 1 second
        \[INFO\] Finished at: Fri Oct 26 12:39:55 IST 2007
        \[INFO\] Final Memory: 1M/3M
        \[INFO\] \-----------------------------------------------------------------------\-
        

         

    2. Oct 25, 2007

      Bob Swift says:

      Use -v or --verbose option to see more details on the problem. If you can't fig...

      Use -v or --verbose option to see more details on the problem. If you can't figure it out from that, create an issue with the detail command with the -v output.

      1. Oct 26, 2007

        Imtiaz B Syed says:

        Am using the following jars: confluence-soap-0.7.jar axis-1.2.1.jar axis-ant...

        Am using the following jars:

        1. confluence-soap-0.7.jar
        2. axis-1.2.1.jar
        3. axis-ant-1.3.jar
        4. axis-jaxrpc-1.3.jar
        5. axis-saaj-1.3.jar
        6. axis-wsdl4j-1.5.1.jar
        7. commons-discovery-0.2.jar
        8. commons-logging-1.0.4.jar
        9. javamail-1.3.2.jar
        10. JSAP-2.0b.jar
        11. jstl.jar
        12. standard.jar

        I had a sample test by executing the following command:

        java -jar confluence-soap-0.7.jar -v --server http://localhost:7777 --user admin --password admin --action addSpace --space Test

        Here the server was running on port 7777 of confluence v2.5.6

        For that command it was throwing the following errors:

        action:     addSpace
        server:     http://localhost:7777
        user:       admin
        space:      Test
        title:
        newTitle:
        parent:
        newParent:
        content:
        comment:
        file:
        mime:
        soap:       /rpc/soap/confluenceservice-v1
        name:
        userId:
        userFullName:
        userEmail:
        userPassword:
        group:
        defaultGroup:
        dayOfMonth: null
        Server address: http://localhost:7777/rpc/soap/confluenceservice-v1
        Unable to log in to server: http://localhost:7777/rpc/soap/confluenceservice-v1. Verify your server, user id, and password ar
        e correct. Use -v option to get more details on the failure.
        Exception: (404)/rpc/soap/confluenceservice-v1
        AxisFault
         faultCode: {http://xml.apache.org/axis/}HTTP
         faultSubcode:
         faultString: (404)/rpc/soap/confluenceservice-v1
         faultActor:
         faultNode:
         faultDetail:
                {}:return code:  404
        &lt;html&gt;&lt;head&gt;&lt;title&gt;Apache Tomcat/5.5.23 - Error report&lt;/title&gt;&lt;style&gt;&lt;!--H1 {font-family:Tah
        oma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:whit
        e;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font
        -size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-
        serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12
        px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--&gt;&lt;/style&gt; &lt;/head&gt;&lt;body&gt;&lt;h1&gt;HTT
        P Status 404 - /rpc/soap/confluenceservice-v1&lt;/h1&gt;&lt;HR size=&quot;1&quot; noshade=&quot;noshade&quot;&gt;&lt;p&gt;&lt
        ;b&gt;type&lt;/b&gt; Status report&lt;/p&gt;&lt;p&gt;&lt;b&gt;message&lt;/b&gt; &lt;u&gt;/rpc/soap/confluenceservice-v1&lt;/u
        &gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;description&lt;/b&gt; &lt;u&gt;The requested resource (/rpc/soap/confluenceservice-v1) is not
         available.&lt;/u&gt;&lt;/p&gt;&lt;HR size=&quot;1&quot; noshade=&quot;noshade&quot;&gt;&lt;h3&gt;Apache Tomcat/5.5.23&lt;/h3
        &gt;&lt;/body&gt;&lt;/html&gt;
                {http://xml.apache.org/axis/}HttpErrorCode:404
        
        (404)/rpc/soap/confluenceservice-v1
                at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
                at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
                at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
                at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
                at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
                at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
                at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
                at org.apache.axis.client.Call.invoke(Call.java:2748)
                at org.apache.axis.client.Call.invoke(Call.java:2424)
                at org.apache.axis.client.Call.invoke(Call.java:2347)
                at org.apache.axis.client.Call.invoke(Call.java:1804)
                at com.atlassian.www.software.confluence.$Proxy42.ConfluenceSoapServiceStub.login(ConfluenceSoapServiceStub.java:3502
        )
                at org.swift.confluence_soap.SoapClient.main(SoapClient.java:107)
        
        1. Oct 26, 2007

          Bob Swift says:

          First, your jars do not match the shipped release directory contents. Specifica...

          First, your jars do not match the shipped release directory contents. Specifically activation-1.0.2.jar and axis-1.3.jar. Follow the installation instructions without modification to verify it works. Other things to try after you do that are to to the following from your browser:

          1. http://localhost:7777 and ensure you can login with user id admin with password admin
          2. http://localhost:7777/rpc/soap/confluenceservice-v1
            • This should result in Confluence responding with something like The page you were trying to reach does not exist ...

          If you need to continue the discussion, open an issue so that this page is not cluttered with data. Thanks.

          1. Oct 31, 2007

            Imtiaz B Syed says:

            Hi Bob, (jazakallah)Thanks for the support. I tried out the combination of jars...

            Hi Bob,

            (jazakallah)Thanks for the support. I tried out the combination of jars which exists in 2.5.6 as well as 2.6.0. So now its working for 2.6.0 but not yet for 2.5.6. Any ways latest version matters more.

            Thanks once again.  

  14. Oct 31, 2007

    James Gray says:

    Hrm I'm getting errors when trying to add a lot of users (20,000) via addUserWit...

    Hrm I'm getting errors when trying to add a lot of users (20,000) via addUserWithCSV:

    User not authenticated or session expired. Call login() to open a new session
    
    AxisFault
    
     faultCode:
    {http://schemas.xmlsoap.org/soap/envelope/}
    Server
    
     faultSubcode:
    
     faultString: User not authenticated or session expired. Call login() to open a new session
    
     faultActor:
    
     faultNode:
    
     faultDetail:
    
            {http://www.atlassian.com/package/com.atlassian.confluence.rpc/}
    InvalidSessionException:null
    
    
    User not authenticated or session expired. Call login() to open a new session
    
            at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
    
            at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
    
            at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633)
    
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:719)
    
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
    
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
    
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
    
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
    
            at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
    
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
    
            at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
    
            at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
    
            at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
    
            at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
    
            at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
    
            at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
    
            at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    
            at org.apache.axis.client.Call.invoke(Call.java:2767)
    
            at org.apache.axis.client.Call.invoke(Call.java:2443)
    
            at org.apache.axis.client.Call.invoke(Call.java:2366)
    
            at org.apache.axis.client.Call.invoke(Call.java:1812)
    
            at com.atlassian.www.software.confluence.$Proxy42.ConfluenceSoapServiceStub.hasUser(ConfluenceSoapServiceStub.java:5742)
    
            at org.swift.confluence_soap.SoapClient.hasUser(SoapClient.java:1030)
    
            at org.swift.confluence_soap.SoapClient.addUserWithFile(SoapClient.java:659)
    
            at org.swift.confluence_soap.SoapClient.main(SoapClient.java:158)
    



    1. Oct 31, 2007

      Bob Swift says:

      I assume you mean it gets part way through and then errors. How long did it run...

      I assume you mean it gets part way through and then errors. How long did it run? I don't know if it is possible to change the session expiry value. It may be a Confluence setting.

      1. Oct 31, 2007

        James Gray says:

        Yeah gets part of the way through then errors and I should have added: I tried f...

        Yeah gets part of the way through then errors and I should have added: I tried fiddling with the session timeout value in Tomcat (in conf/web.xml) and it didn't seem to have any effect on it eventually stopping after an interdeterminate amount of time. In order to get it working I simply split my file into more manageable 1000 user chucks and got the SOAP client to work through each file at a time. Seems to be working thus far, taking a while though..

        Thanks for the client btw! Very useful tool.

        1. Apr 17, 2008

          Bob Swift says:

          CSOAP-20
  15. Nov 08, 2007

    huasoon says:

    Any idea how to add labels to news? I tried to use java -jar release/conflu...

    Any idea how to add labels to news?

    I tried to use

    java -jar release/confluence-soap-0.7.jar --action storeNews --title "progress project report for week ending 11-11-07" --space project1 --file ppr-template.txt --labels "ppr" --server http://localhost --user user--password password

    and no labels are added.

    I also tried to use the addLabels action with the title (with date prefix,  replacing space with +, plain title) and all did not worked.

    java -jar release/confluence-soap-0.7.jar --action addLabels --title "progress project report for week ending 10-11-07" --space project1--labels "ppr" --server http://localhost --user user --password password

    Successful login to: http://localhost/rpc/soap/confluenceservice-v1
    Page 'progress project report for week ending 10-11-07' not found in space 'project1'


    1. Nov 10, 2007

      Bob Swift says:

      Sorry, only labels on pages are supported at present. Good idea though! Please ...

      Sorry, only labels on pages are supported at present. Good idea though! Please write up an issue to get labels on news supported next iteration of this extension.

  16. Nov 14, 2007

    Andy Brook says:

    Bob, have you thought about creating a Maven2 accessible library that wraps the ...

    Bob, have you thought about creating a Maven2 accessible library that wraps the SOAP interface? I added one to the repo, and am half way through creating an example but given this is the Confluence SOAP project, woulnt it be better to be run and updated from here/you? Whilst the soap-client utility is useful for some, just looking at the comments on 'what jars, what version' etc, all this goes away with a maven2 plugin project.

    This would encourage more use and further development of the API by increasing the ease with which apps can just 'use' the soap API as opposed to worrying about WSDL and supporting libraries.... I thought I commented on this earlier but cant find it.

    This is something so basic, any project that wants to use the API has to do the same thing, again. Are you interested in taking this on - I can give you a pre-built maven2 project for the generation of the code and an example client...

    1. Nov 14, 2007

      Bob Swift says:

      Andy, sounds like a good idea, but I don't have time to look at any of this righ...

      Andy, sounds like a good idea, but I don't have time to look at any of this right now.

  17. Nov 15, 2007

    Srikanth NT says:

    Hi, I tried to save a sample text in my page. java -jar release/confluence...

    Hi,

    I tried to save a sample text in my page.

    java -jar release/confluence-soap-0.7.jar -v --server http://stow --user testUser --password xxx --action storePage --space "Try" --title "Srikanth's Works" --content "This is page content
    another line of content"

    but its throwing error:
    C:\confluence-soap-0.7>call java -jar release/confluence-soap-0.7.jar -v --server http://myserver --user testUser --password *** --action storePage --space "Try
    " --title "Srikanth's Works" --content "This is page content
    another line of content"
    action: storePage
    server: http://myserver
    user: testUser
    space: Try
    title: Srikanth's Works
    newTitle:
    parent:
    newParent:
    content: This is page content
    another line of content
    comment:
    file:
    mime:
    soap: /rpc/soap/confluenceservice-v1
    name:
    userId:
    userFullName:
    userEmail:
    userPassword:
    group:
    defaultGroup:
    dayOfMonth: null
    Server address: http://myserver/rpc/soap/confluenceservice-v1
    Successful login to: http://myserver/rpc/soap/confluenceservice-v1

    Error occurred. Verify the operation requested is valid and user is authorized to perform the action. Use -v option to get more details on the failure.

    Server reported: >>> You can't change an existing page's space. <<<
    AxisFault
    faultCode:

    Unknown macro: { http}

    Server
    faultSubcode:
    faultString: You can't change an existing page's space.
    faultActor:
    faultNode:
    faultDetail:

    Unknown macro: { http}

    RemoteException:null
    You can't change an existing page's space.
    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
    at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
    at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    at org.apache.axis.client.Call.invoke(Call.java:2767)
    at org.apache.axis.client.Call.invoke(Call.java:2443)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at com.atlassian.www.software.confluence.$Proxy42.ConfluenceSoapServiceStub.storePage(ConfluenceSoapServiceStub.java:5133)
    at org.swift.confluence_soap.SoapClient.storePage(SoapClient.java:261)
    at org.swift.confluence_soap.SoapClient.main(SoapClient.java:138)

    When do we get this error?
    I tried to fetch the page similarly and it worked without any error.

    1. Apr 17, 2008

      Bob Swift says:

      This was actually a problem with case sensitivity on the space key with the SOAP...

      This was actually a problem with case sensitivity on the space key with the SOAP API. Release 1.2.0 avoids this anomaly by using the same key retrieved for an existing page.

  18. Nov 19, 2007

    Andy Brook says:

    For anyone wanting to use SOAP as a library in a maven2 project but not wanting ...

    For anyone wanting to use SOAP as a library in a maven2 project but not wanting to do wsdl compilations etc, I've just added a Confluence page, theres also a Jira page. Neither are currently in the Atlassian repository, I hope to get around to that at some point.

  19. Dec 12, 2007

    Barrow Kwan says:

    I am trying to export a space without success..  java -jar confluence...

    I am trying to export a space without success..

     java -jar confluence-soap-0.7.jar -s http://localhost:9080 -a exportSpace -u user1 -p password --space CWDC --exportType HTML -v
    action:     exportSpace
    server:     http://localhost:9080
    user:       user1
    space:      CWDC
    title:     
    newTitle:  
    parent:    
    newParent: 
    content:   
    comment:    file:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    mime:      
    soap:       /rpc/soap/confluenceservice-v1
    name:      
    userId:    
    userFullName:
    userEmail: 
    userPassword:
    group:     
    defaultGroup:
    dayOfMonth: null
    Server address: http://localhost:9080/rpc/soap/confluenceservice-v1
    Successful login to: http://localhost:9080/rpc/soap/confluenceservice-v1

    Error occurred. Verify the operation requested is valid and user is authorized to perform the action. Use -v option to get more details on the failure.

    Server reported: >>> ; nested exception is:
            java.net.SocketTimeoutException: Read timed out <<<
    AxisFault
     faultCode:

    Unknown macro: {http}

    Server.userException
     faultSubcode:
     faultString: java.net.SocketTimeoutException: Read timed out
     faultActor:
     faultNode:
     faultDetail:
           

    Unknown macro: {http}

    stackTrace:java.net.SocketTimeoutException: Read timed out
            at java.net.SocketInputStream.socketRead0(Native Method)
            at java.net.SocketInputStream.read(SocketInputStream.java:129)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
            at org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:583)
            at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:143)
            at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
            at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
            at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
            at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
            at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
            at org.apache.axis.client.Call.invoke(Call.java:2767)
            at org.apache.axis.client.Call.invoke(Call.java:2443)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at com.atlassian.www.software.confluence.$Proxy42.ConfluenceSoapServiceStub.exportSpace(ConfluenceSoapServiceStub.java:4836)
            at org.swift.confluence_soap.SoapClient.exportSpace(SoapClient.java:1128)
            at org.swift.confluence_soap.SoapClient.main(SoapClient.java:186)

           

    Unknown macro: {http}

    hostname:atlassian.thoughtworks.com

    java.net.SocketTimeoutException: Read timed out
            at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
            at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
            at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
            at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
            at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
            at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
            at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
            at org.apache.axis.client.Call.invoke(Call.java:2767)
            at org.apache.axis.client.Call.invoke(Call.java:2443)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at com.atlassian.www.software.confluence.$Proxy42.ConfluenceSoapServiceStub.exportSpace(ConfluenceSoapServiceStub.java:4836)
            at org.swift.confluence_soap.SoapClient.exportSpace(SoapClient.java:1128)
            at org.swift.confluence_soap.SoapClient.main(SoapClient.java:186)
    Caused by: java.net.SocketTimeoutException: Read timed out
            at java.net.SocketInputStream.socketRead0(Native Method)
            at java.net.SocketInputStream.read(SocketInputStream.java:129)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
            at org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:583)
            at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:143)
            ... 12 more

    1. Dec 12, 2007

      Bob Swift says:

      The space export time is exceeding the session timeout on the remote call. I wo...

      The space export time is exceeding the session timeout on the remote call. I would suggest you ask Confluence support if there is a Confluence configuration option that can specify the timeout value on remote requests. I don't know of anything on the client side to control the behavior.

  20. Feb 25, 2008

    Richard Michalsky says:

    Hi, I'm trying to get this utility to work with our Confluence site but I am enc...

    Hi,
    I'm trying to get this utility to work with our Confluence site but I am encountering the following problems. I can log in and get a list of spaces, like this:

    C:\Tmp\_Confluence_SOAP_Client>java -jar release/confluence-soap-0.7.jar --server http://linux/confluence --user richard --password *** -a getSpaceList
    Successful login to: http://linux/confluence/rpc/soap/confluenceservice-v1
    Space list: key: ~richard; name: Richard Michalsky; url: http://linux/confluence/display/~richard; type: personal; 
    key: HR; name: Harmony; url: http://linux/confluence/display/HR; type: global;
    .... <other spaces> ....
    

    however when I try to list pages of the Harmony space I get:

    C:\Tmp\_Confluence_SOAP_Client>java -jar release/confluence-soap-0.7.jar --server http://linux/confluence --user richard --password *** -v -a getSpace --space HR
    action:     getSpace
    server:     http://linux/confluence
    user:       richard
    space:      HR
    title:
    newTitle:
    parent:
    newParent:
    content:
    comment:
    file:
    mime:
    soap:       /rpc/soap/confluenceservice-v1
    name:
    userId:
    userFullName:
    userEmail:
    userPassword:
    group:
    defaultGroup:
    dayOfMonth: null
    Server address: http://linux/confluence/rpc/soap/confluenceservice-v1
    Successful login to: http://linux/confluence/rpc/soap/confluenceservice-v1
    25.2.2008 15:48:12 org.apache.axis.client.Call invoke
    SEVERE: Exception:
    org.xml.sax.SAXException: Invalid element in com.atlassian.www._package.com_atlassian_confluence_rpc_soap_beans.RemoteSpace - spac
    eGroup
            at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258)
            at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
            at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
            at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
            at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
            at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
            at org.apache.axis.client.Call.invoke(Call.java:2467)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at com.atlassian.www.software.confluence.$Proxy42.ConfluenceSoapServiceStub.getSpace(ConfluenceSoapServiceStub.java:3295)
            at org.swift.confluence_soap.SoapClient.getSpace(SoapClient.java:1075)
            at org.swift.confluence_soap.SoapClient.main(SoapClient.java:180)
    
    Error occurred. Verify the operation requested is valid and user is authorized to perform the action. Use -v option to get more de
    tails on the failure.
    
    Server reported: >>> ; nested exception is:
            org.xml.sax.SAXException: Invalid element in com.atlassian.www._package.com_atlassian_confluence_rpc_soap_beans.RemoteSpac
    e - spaceGroup <<<
    AxisFault
     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
     faultSubcode:
     faultString: org.xml.sax.SAXException: Invalid element in com.atlassian.www._package.com_atlassian_confluence_rpc_soap_beans.Remo
    teSpace - spaceGroup
     faultActor:
     faultNode:
     faultDetail:
            {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Invalid element in com.atlassian.www._package.com_atlass
    ian_confluence_rpc_soap_beans.RemoteSpace - spaceGroup
            at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258)
            at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
            at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
            at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
            at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
            at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
            at org.apache.axis.client.Call.invoke(Call.java:2467)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at com.atlassian.www.software.confluence.$Proxy42.ConfluenceSoapServiceStub.getSpace(ConfluenceSoapServiceStub.java:3295)
            at org.swift.confluence_soap.SoapClient.getSpace(SoapClient.java:1075)
            at org.swift.confluence_soap.SoapClient.main(SoapClient.java:180)
    
            {http://xml.apache.org/axis/}hostname:NTB-RICHARD
    
    org.xml.sax.SAXException: Invalid element in com.atlassian.www._package.com_atlassian_confluence_rpc_soap_beans.RemoteSpace - spac
    eGroup
            at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
            at org.apache.axis.client.Call.invoke(Call.java:2470)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at com.atlassian.www.software.confluence.$Proxy42.ConfluenceSoapServiceStub.getSpace(ConfluenceSoapServiceStub.java:3295)
            at org.swift.confluence_soap.SoapClient.getSpace(SoapClient.java:1075)
            at org.swift.confluence_soap.SoapClient.main(SoapClient.java:180)
    Caused by: org.xml.sax.SAXException: Invalid element in com.atlassian.www._package.com_atlassian_confluence_rpc_soap_beans.RemoteS
    pace - spaceGroup
            at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258)
            at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
            at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
            at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
            at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
            at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
            at org.apache.axis.client.Call.invoke(Call.java:2467)
            ... 5 more
    

    Do you have any hints what may be wrong? Access rights probably aren't the issue, I can access the space with TimTam editor without problems. We're using Confluence version 2.6.1 Build:#916 XI 09, 2007.

    1. Feb 25, 2008

      Bob Swift says:

      Looks like an incompatible API change when space groups were added to the space ...

      Looks like an incompatible API change when space groups were added to the space object (Remote API Specification 2.4). Affects space operations. Probably just needs build with updated WSDL. Write up an issue please.

      1. Mar 03, 2008

        Richard Michalsky says:

        I hope I got right that it is an issue of SOAP Client, not of Confluence Remote ...

        I hope I got right that it is an issue of SOAP Client, not of Confluence Remote API . Posted an issue at http://developer.atlassian.com/jira/browse/CSOAP-11

        1. Mar 27, 2008

          Bob Swift says:

          Correct. And this should now be fixed with 1.0.0

          Correct. And this should now be fixed with 1.0.0

  21. Mar 14, 2008

    Rory Murtagh says:

    We just updated to 2.7.1 (from 2.7.0).  The SOAP client has worked brillian...

    We just updated to 2.7.1 (from 2.7.0).  The SOAP client has worked brilliantly until now.  But it looks like maybe 2.7.1 changed and broke it?  I get:

    ...
    
    ayOfMonth: null
    Server address: http://hq1almd01:9680/confluence/rpc/soap/confluenceservice-v1
    Unable to log in to server: http://hq1almd01:9680/confluence/rpc/soap/confluenceservice-v1. Verify your server, user id, and password are correct. Use \-v option to get more details on the failure.
    Exception: (502)Proxy Error
    AxisFault
    &nbsp;faultCode: {http://xml.apache.org/axis/}HTTP
    &nbsp;faultSubcode:
    &nbsp;faultString: (502)Proxy Error
    &nbsp;faultActor:
    &nbsp;faultNode:
    &nbsp;faultDetail:
    &nbsp;&nbsp;&nbsp; {}:return code:&nbsp; 502
    &lt;\!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;&gt;
    &lt;html&gt;&lt;head&gt;
    &lt;title&gt;502 Proxy Error&lt;/title&gt;
    &lt;/head&gt;&lt;body&gt;
    &lt;h1&gt;Proxy Error&lt;/h1&gt;
    &lt;p&gt;The proxy server received an invalid
    response from an upstream server.&lt;br /&gt;
    The proxy server could not handle the request &lt;em&gt;&lt;a href=&quot;http://hq1almd01:9680/confluence/rpc/soap/confluenceservice-v1&quot;&gt;POST&amp;nbsp;http://hq1almd01:9680/confluence/rpc/soap/confluenceservice-v1&lt;/a&gt;&lt;/em&gt;.&lt;p&gt;
    Reason: &lt;strong&gt;DNS lookup failure for: hq1almd01&lt;/strong&gt;&lt;/p&gt;&lt;/p&gt;
    &lt;/body&gt;&lt;/html&gt;
    
    &nbsp;&nbsp;&nbsp; {http://xml.apache.org/axis/}HttpErrorCode:502
    
    (502)Proxy Error
    &nbsp;&nbsp;&nbsp; at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
    


    Meanwhile if I poke around I can get the WSDL from  http://hq1almd01:9680/confluence/rpc/soap-axis/confluenceservice-v1&nbsp; but not from  http://hq1almd01:9680/confluence/rpc/soap/confluenceservice-v1

    and I thought I should be good on either. I've an idea that this is the root cause/change in 2.7.1 ....

    I'm having no luck re-building the client to see if I can change this and prove it, but that's just because maven, wsdl, yadda yadda is all new to me.     Any other ideas?

    1. Mar 15, 2008

      Bob Swift says:

      We run against 2.7.1 fine. You are getting a proxy error - are you sure your ne...

      We run against 2.7.1 fine. You are getting a proxy error - are you sure your network environment hasn't changed after the upgrade?

      DNS lookup failure for: hq1almd01
      
      1. Mar 18, 2008

        Rory Murtagh says:

        Sorry, looks like my error, and probably someone was working on the network envi...

        Sorry, looks like my error, and probably someone was working on the network environment.  Now it works as expected against 2.7.2 just like before. Sorry to have wasted your time.

  22. Apr 07, 2008

    Pranav Olkar says:

    I am trying to run the jar provided on this page in confluence 2.6.2.I am gettin...

    I am trying to run the jar provided on this page in confluence 2.6.2.I am getting the following error when I run confluence.bat.Even with a command such as confluence --help it gives the same error.

    D:\pranav_mar2007\wiki cli\confluence-cli-1.0.0>java -jar release/confluence-cli-1.0.0.jar

    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/swift/con
    fluence/cli/SoapClient (Unsupported major.minor version 49.0)
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    3)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

    1. Apr 07, 2008

      Bob Swift says:

      See the JVM requirements section. 1.0.0 requires a 1.5 JVM on your client. The p...

      See the JVM requirements section. 1.0.0 requires a 1.5 JVM on your client. The previous versions only needs 1.4 JVM.

  23. Apr 08, 2008

    Kenneth Kunin says:

    I unzipped the command line utility v1.1.0, modified the confluence.bat file to ...

    I unzipped the command line utility v1.1.0, modified the confluence.bat file to add my server, user and password, and ran a simple command confluence --action getUserList to see what would happen. But for some reason, it gives me the error "Parameter 'action' is required".

    I am a confluence-admin user in a Confluence v2.7.2 installation. I am running Java version 1.6.0_03 on Windows XP, and I know my SOAP API is enabled (I use the Microsoft Office Add-in all the time). What am doing wrong? I'm probably missing something plainly obvious, and I should smack myself...

    1. Apr 08, 2008

      Bob Swift says:

      You probably removed the %* from the end of the line when you edited the conflue...

      You probably removed the %* from the end of the line when you edited the confluence.bat file. The %* is what includes your parameters along with the ones in your bat file. Add that back in and you should be fine!

      1. Apr 08, 2008

        Kenneth Kunin says:

        Thanks for the prompt reply.  No, I had the %* at the end of the line.....

        Thanks for the prompt reply.  No, I had the %* at the end of the line... but your comment led me to try other things in the confluence.bat file, and I discovered it was because my password has an & character in it.  It seems the batch file doesn't like the ampersand... I guess it is a reserved character of some sort.  I switched users, and it seems to be working now.

        1. Apr 08, 2008

          Bob Swift says:

          Glad you found a solution and thanks for posting to help others . Special charac...

          Glad you found a solution and thanks for posting to help others . Special characters can cause problems in batch files - just double quote values that have special characters like: --password "auto&mation"

  24. Apr 18, 2008

    Kenneth Kunin says:

    Hey, I have another question. I need to get a list of users that belong to a spe...

    Hey, I have another question. I need to get a list of users that belong to a specific group (confluence-users). There are about 500 users in our system that belong to that group, and the Web Interface gives me the list in pages of 10 users. I'd like a single list of 500 that I can copy and paste into a spreadsheet. I'm looking through your documents... I see a getuserList action (which gives me a and a list of users) and a getGroupList action (which gives me a list of groups), but nothing like a getUsersForGroup action (which would give me a list of users assigned to a particular group). Is there another way I can do this using the existing CLI actions? If not, that would be really helpful as an enhancement.

    1. Apr 18, 2008

      Bob Swift says:

      I agree this would be useful. The remote API doesn't support this directly or e...

      I agree this would be useful. The remote API doesn't support this directly or even indirectly. Some one else asked about this some time ago, so there may be an enhancement request on the remote API to do this. If so, vote for that. If not, I suggest creating a Confluence request specifying the remote API as the component. Once it gets done there, it would be pretty easy to add to the CLI.

  25. May 06, 2008

    S. Lohrum says:

    Hello, this plugin sounds great, but during download of the plugin I get an err...

    Hello,

    this plugin sounds great, but during download of the plugin I get an error messag "can't find file atlassian-plugin.xml"

    How to get on?

    BTW. I'm running Conluence 2.7.2 

    Thx in advance 

    -Stefan

    1. May 06, 2008

      Bob Swift says:

      Stefan, this is not a plugin. It is command line client that you install on a P...

      Stefan, this is not a plugin. It is command line client that you install on a PC to remotely access Confluence.

  26. May 09, 2008

    Andreas Dobrick says:

    Hello I've got a question: Is it possible to login thru remoteAPI and then usin...

    Hello

    I've got a question: Is it possible to login thru remoteAPI and then using the login token for a normal browser based session without login again?

    Something like http://host:8080/login.action?login=(token)...\\

    Thanks a lot.

    Andreas

    1. May 09, 2008

      Bob Swift says:

      I don't think so, although that would be a question for Atlassian. The token ca...

      I don't think so, although that would be a question for Atlassian. The token can certainly be used by other remote requests either using the CLI (using the login parameter) or any other soap client for a period of 30 minutes.

  27. May 26, 2008

    Nilesh Parmar says:

    Thanks a lot for implementing the confluence cli. I think it's very useful. Is...

    Thanks a lot for implementing the confluence cli. I think it's very useful.

    Is there a way i can export a wiki space in the wiki syntax format ? I see that you have XML, PDF, and HTML. I want to export the sources for an entire wiki space in the wiki format. Just for backing up my sources. Is it possible ?
     

    Thanks,

    Nilesh 

    1. May 27, 2008

      Bob Swift says:

      Not easily at the moment. You can getPageSource on individual pages. I am work...

      Not easily at the moment. You can getPageSource on individual pages. I am working on load/unload of a page hierarchy (only the load part is out as beta and its not quite right). Feel free to post an issue describing your use case as it might be different than what I have in mind.

  28. May 28, 2008

    Rolf Böhme says:

    Hello,  I have problems with getting zip-archive containig a space export ...

    Hello,

     I have problems with getting zip-archive containig a space export in HTML-Format. Our configuration:

    Confluence: Version: 2.5.2 Build:#807 Mai 20, 2007

    "Plugin": confluence-cli-1.3.0-distribution

    After starting the following command

    java -jar release/confluence-cli-1.3.0.jar --server http://ourconfluence/  \
        --user mirroruser --password *** --action exportSpace \
        --space SPACENAME --file SPACENAME.zip --exportType HTML
    

    the following message appears:

    org.swift.common.cli.CliClient$ClientException: java.io.FileNotFoundException:
    http://ourconfluence//download/temp/export_05282008_140300/
    SPACENAME-20080528-14_05_16.zip?os_username=mirroruser&os_password=***
    

    The zip-file exist in /var/confluence/temp, but not in /var/confluence/download/temp, in the filesystem of our confluence host.

    How can I change the temp-directory which cli expected?

    Regards
    Rolf

    1. May 28, 2008

      Bob Swift says:

      The CLI gets the download URL from the remote API. The URL returned is then use...

      The CLI gets the download URL from the remote API. The URL returned is then used for retrieval. I ran the same test on 2.5.2 successfully (from Window client). Suggest testing against a small space first. Open an issue and include log after using -v option.

  29. May 31, 2008

    arnaud walter says:

    Hello all,  i have an issue when trying to download an attachment with the...

    Hello all,

     i have an issue when trying to download an attachment with the getAttachment, i send this kind of command line,

    confluence.bat --action getAttachment --title ""1st QC"" --space TestSpace --name test1.doc --file E:/test1.doc
    

    when I try to open the downloaded file, he seems to be corrupted. i tried with text file, it works fine but with non-text files (.doc, .jpg, ...) after downloading the file is impossible to read, do you have an idea ?

    i'm using cli 1.3.0 and confluence 2.8.1,

     thanks in advance,

    1. May 31, 2008

      Bob Swift says:

      CSOAP-28 will be fixed soon. Thanks for reporting this.

      CSOAP-28 will be fixed soon. Thanks for reporting this.

      1. Jun 02, 2008

        arnaud walter says:

        Hello Bob, I make a quick test of your patch, it seems to work now, Thanks,

        Hello Bob,
        I make a quick test of your patch, it seems to work now,

        Thanks,

  30. Jun 12, 2008

    Appan Ponnappan says:

    Getting a classcast exception as Axis fault and the login fails. Tried with bot...

    Getting a classcast exception as Axis fault and the login fails.

    Tried with both 1.2 & 1.3 versions with Confluence 2.7. Is it because of Axis version mismatch?

    1. Jun 12, 2008

      Bob Swift says:

      Write up an issue with the details please! I assume you are using the complete d...

      Write up an issue with the details please! I assume you are using the complete distribution (with Java 1.5 or above) in which case there should not be any incompatibilities.

  31. Jun 25, 2008

    Matt Doar says:

    Bob, This is just the coolest Confluence CLI! I needed to add a number of user...

    Bob,

    This is just the coolest Confluence CLI! I needed to add a number of users to various groups and there was the option to do this. But even better there was an option to read the users and groups from a csv file! And I worked out the format easily enough. Thank you for going the extra step and thinking about real use cases.

    ~Matt

    1. Jul 30, 2008

      Joseph Nolte says:

      Can you be of any help? I seem to keep getting a File not found error. I think I...

      Can you be of any help? I seem to keep getting a File not found error. I think I have the format in the csv file correct, but for some reason the path must be wrong.

      jnolte@warrenvw-dtlx> ./confluence.bat
      Successful login to: http://wiki1:7080/rpc/soap/confluenceservice-v1
      File not found: /home/jnolte/confluence-soap-0.7/examples/all-eng-mgrs.csv
      

      From my confluence.bat file:

      java -jar release/confluence-soap-0.7.jar --server http://wiki1:7080 --user admin --password admin --action addUserToGroupWithFile --file /home/jnolte/confluence-soap-0.7/examples/all-eng-mgrs.csv
      %*
      
      1. Jul 31, 2008

        Joseph Nolte says:

        For anyone interested, I changed my confluence.bat file to this: java -jar rel...

        For anyone interested, I changed my confluence.bat file to this:

        java -jar release/confluence-soap-0.7.jar --server http://wiki1:7080 
        --user admin --password admin --action addUserToGroupWithFile 
        --file all-eng-mgrs.csv --labels "pointless-label"
        %*
        

        Adding the --labels tag somehow made it find the file. I guess the end of line character made it unable to find the file. Is that a correct assumption?

        1. Jul 31, 2008

          Bob Swift says:

          The bat file is for convenience on Windows. For Linux/Unix, just use java comma...

          The bat file is for convenience on Windows. For Linux/Unix, just use java command on a command line or create a shell script equivalent to the bat file and just have it contain the common parameters.

  32. Jul 08, 2008

    Andreas Petri says:

    Hallo,  nice tool, I just managed to get a space exported as zipped XML, i...

    Hallo,

     nice tool, I just managed to get a space exported as zipped XML, in the same format as from the interactive "Export Space". But  I seem to be a little blind today - how do I get it imported again? I am missing  "--action importSpace".

    Greetings

     Andreas

    1. Jul 08, 2008

      Bob Swift says:

      Please vote for CONF-5522.

      Please vote for CONF-5522.

  33. Jul 23, 2008

    Michael Behrens says:

    Hallo, we try to automatically export some of our spaces with the confluence com...

    Hallo,
    we try to automatically export some of our spaces with the confluence command line client 1.3.0. This works fine for "ds" and the first of our spaces , but the second ("ITH") is slightly larger and sometimes (depending on the load on the server?) yields a timeout after ten minutes:

    >
    >18.07.2008 10:01:42 Space: ITH
    >command:
    >java ---Djavax.net.ssl.trustStore=c:/tomcat-keys/keystore -jar release/confluence-cli-1.3.0.jar --server https://intranet.psad.de/confluence  --user localbackup --password 1234556 --action exportSpace --space ITH --exportType XML --file c:/standalone-confluence.leer/data/restore/20080718-100142-ITH.zip
    >org.swift.common.cli.CliClient$ClientException: java.net.SocketTimeoutException: Read timed out
    >
    >time used 603s

    On http://confluence.atlassian.com/display/CONFEXT/Confluence+Command+Line+Interface?showChildren=true#children Bob Swift wrote on Dec 12, 2007:
    >
    >The space export time is exceeding the session timeout on the remote call. I would suggest you ask Confluence support if there is a Confluence configuration option that can >specify the timeout value on remote requests. I don't know of anything on the client side to control the behavior.
    >

    Confluence support refuses to help me in CSP-21222

    What is the solution _except_ voting for anything or not to use confluence-cli?

     Regards

    Michael Behrens

  34. Jul 23, 2008

    Paul Csapo says:

    Dear Bob, this is just a followup from my post here: http://jira.atlassian.com/b...

    Dear Bob, this is just a followup from my post here: http://jira.atlassian.com/browse/CONF-5095?focusedCommentId=122027#action_122027

    Am not sure how possible it is, but please find a high level issue that I am faced with:

    SUMMARY:
    We have several Spaces, with basic viewing permissions overall, but some sections/subsections need to be edited by certain  people only per Space. (The sections and subsections are simply pages within the Space, and children within those pages.)

    SCENARIO:
    When we edit-restrict section-A to people in group-A, those people will only be able to make edits, if group-A is given edit rights at the Space level.
    &
    When we edit-restrict section-B to people in group-B, those people will only be able to make edits, if group-B is given edit rights at the Space level.

    PROBLEM:
    When people or groups of people need to have pages "Hidden" to those who can view and edit the pages, its not so bad.
    BUT:
    The problem is that if we want to prevent section-A from being edited by anyone outside of Group-A we cant, because group-B will have the permissions as Group-B was given edit-rights at the Space level.

    Aside from creating a completely new and separate Space, which is not ideal, then the "probably already extremely well reported but extremely tedious" way to resolve this, is to edit each and every page within each and every section of the space, and set the edit restrictions at the page level to whichever group-X needs to actually edit it. Not to mention having to remember to set the restrictions for each and every new page added.

    QUESTIONS:
    Forgive me as i havent been able to fully read and understand this whole CLI page, though is there any way in which the CLI tool can help us, eg:

    Q1) To allow us to easily specify a Parent page, and to specify which restrictions/people or groups need applying to it, and automatically to any children beneath it?
    (If this was possible, we could simply set the bulk of them using the CLI, and then go into a few manually to tweak the settings if needs be).

    Q2) Is there a way to address the issue where new children do not inherit the edit restrictions too., unlike the Viewing restrictions which are inherited? (or would we need to follow the solution from Q1 above, at regular intervals to make sure that the new pages also have the correct permissions applied?)

    Q3) Is there any way of invoking/accessing the CLI or some CLI features via the Front end? (such as via the admin console for example)? While certian people might be Administering Confluence from the front end, they might not all necessarily have backend db/server/infrastructure/ level access.

    Q4) If Q1 can be implemented, iIs there a way of invoking the necessary API steps in a macro { } so that we could make a macro and simply add it to the parent page of the section, and when the page is saved/viewed, it would simply rerun/apply the settings throughout that section?

    As mentioned in the above post on the Atlassian page, Perhaps the simplest option which would be GREAT, would be a simple popup, where you can "set this page permission, and apply it all to children too", (with an option overriding any settings they have). But as that might need to be implemented at the Core of Confluence, it probably would take a long time for them to implement it?

    If you are able to offer any advice or help in any way, that would be greatly appreciated.
    kind regards,
    Paul

    1. Jul 23, 2008

      Paul Csapo says:

      Not sure of the proper syntax for remapping the permissions matrix from confluen...

      Not sure of the proper syntax for remapping the permissions matrix from confluence space levels into proper CLI syntax, eg Create page Ticked, Remove Page unticked, etc but maybe something like this?

      -a|--permissions:edit|<setpagepermissions|?viewsspace, editspace,
       comment, createattachment, removepage, removecomment,
       removeattachment?|--descendents>
      
      
      



  35. Jul 24, 2008

    Marty Aavik says:

    just installed Confluence 2.7 and get a class cast error when using the cli - an...

    just installed Confluence 2.7 and get a class cast error when using the cli - any ideas?

    C:\Downloads\Confluence\confluence-cli-1.3.0>java -fullversion
    java full version "1.5.0_14-b03"

    C:\Downloads\Confluence\confluence-cli-1.3.0>confluence --action login --debug -v
      User parameters (non-blank):
    action  . . . . . . . . . . . : login
    debug . . . . . . . . . . . . : true
    verbose . . . . . . . . . . . : true
    server  . . . . . . . . . . . : http://localhost:9080
    user  . . . . . . . . . . . . : admin
    password  . . . . . . . . . . : admin
      Default parameters (non-blank):
    help  . . . . . . . . . . . . : false
    service . . . . . . . . . . . : /rpc/soap-axis/confluenceservice-v1
    loginFromStandardInput  . . . : false
    dayOfMonth  . . . . . . . . . : 0
    count . . . . . . . . . . . . : 2147483647
    exportType  . . . . . . . . . : XML
    news  . . . . . . . . . . . . : false
    exportAttachments . . . . . . : false
    mostPopular . . . . . . . . . : false
    recentlyUsed  . . . . . . . . : false
    ancestors . . . . . . . . . . : false
    descendents . . . . . . . . . : false
    children  . . . . . . . . . . : false
    replace . . . . . . . . . . . : false
    Server address: http://localhost:9080/rpc/soap-axis/confluenceservice-v1
    Unable to log in to server: http://localhost:9080/rpc/soap-axis/confluenceservice-v1 with user: admin.
     Cause: java.lang.ClassCastException: java.lang.Class
    AxisFault
     faultCode:

    Unknown macro: {http}

    Server.userException
     faultSubcode:
     faultString: java.lang.ClassCastException: java.lang.Class
     faultActor:
     faultNode:
     faultDetail:
            {}faultData:null
           

    Unknown macro: {http}

    hostname:maavik

    java.lang.ClassCastException: java.lang.Class
            at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
            at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
            at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633)
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java
    :719)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XML
    DocumentFragmentScannerImpl.java:1685)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScanne
    rImpl.java:368)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
            at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
            at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
            at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
            at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
            at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
            at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
            at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
            at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
            at org.apache.axis.client.Call.invoke(Call.java:2767)
            at org.apache.axis.client.Call.invoke(Call.java:2443)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at com.dolby.atlassian.confluence.soap.model.confluence.ConfluenceserviceV1SoapBindingStub.login(Confluenceservi
    ceV1SoapBindingStub.java:3743)
            at org.swift.confluence.cli.ConfluenceClient.serviceLogin(ConfluenceClient.java:149)
            at org.swift.common.cli.AbstractRemoteClient.remoteLogin(AbstractRemoteClient.java:183)
            at org.swift.common.cli.AbstractRemoteClient.setupRemote(AbstractRemoteClient.java:171)
            at org.swift.common.cli.AbstractRemoteClient.process(AbstractRemoteClient.java:68)
            at org.swift.common.cli.CliClient.doWork(CliClient.java:144)
            at org.swift.confluence.cli.ConfluenceClient.main(ConfluenceClient.java:93)

    C:\Downloads\Confluence\confluence-cli-1.3.0>

    1. Jul 24, 2008

      Bob Swift says:

      hmmm... nothing obvious.

      hmmm... nothing obvious.

      1. Jul 25, 2008

        Marty Aavik says:

        FWIW, I get the following messages in the tomcat server when I attempt to issue ...

        FWIW, I get the following messages in the tomcat server when I attempt to issue the command above

        2008-07-25 10:11:40,686 DEBUG [http-9080-Processor3] [atlassian.seraph.filter.BaseLoginFilter] doFilter Login completed - setting attribute to "null"
        2008-07-25 10:11:40,686 DEBUG [http-9080-Processor3] [atlassian.seraph.filter.SecurityFilter] doFilter Storing the originally requested URL (atlassian.core.seraph.original.url=/rpc/soap-axis/confluenceservice-v1)
        2008-07-25 10:11:40,686 DEBUG [http-9080-Processor3] [atlassian.seraph.filter.SecurityFilter] doFilter requiredRoles = []
        2008-07-25 10:11:40,686 DEBUG [http-9080-Processor3] [atlassian.seraph.auth.DefaultAuthenticator] getUser Cannot log user in via a cookie
        2008-07-25 10:11:40,686 DEBUG [http-9080-Processor3] [atlassian.seraph.auth.DefaultAuthenticator] getUser Cannot log user in via a cookie

        1. Jul 25, 2008

          Marty Aavik says:

          Never mind  I found out that the soap api was broken on the 2.7 product.&...

          Never mind

           I found out that the soap api was broken on the 2.7 product.  I upgraded to 2.7.1 and it works as expected.

          Thanks!

  36. Aug 18, 2008

    Rich Kucera says:

    For some reason I had to change the syntax of the example in the BAT file:\\ re...

    For some reason I had to change the syntax of the example in the BAT file:\\

    rem   java -jar release/confluence-cli-1.3.0.jar --server=http://my-confluence-server --user=automation --password=automation %*

    Add an "="

  37. Aug 28, 2008

    Ken Emmanuel says:

    I just installed this app, and it appears that I cannot access confluence from a...

    I just installed this app, and it appears that I cannot access confluence from a client machine. I am only able to access it locally (on the server). Is this the way this product works? Or am I missing a configuration setting? Please advise.

     Here's what I get when I attempt to access froma  client machine:

    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/swift/con
    fluence/cli/ConfluenceClient (Unsupported major.minor version 49.0)
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$100(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)

    Thanks. 

    1. Aug 28, 2008

      Bob Swift says:

      Your client must have Java 1.5 or higher.

      Your client must have Java 1.5 or higher.

      1. Aug 28, 2008

        Ken Emmanuel says:

        Thanks it works. One more question. Can regular Confluence Users use this tool o...

        Thanks it works. One more question. Can regular Confluence Users use this tool or is usage limited to confluence admins?

        Thanks

        1. Aug 28, 2008

          Bob Swift says:

          Any user, but, they will only be able to do actions they are authorized to.

          Any user, but, they will only be able to do actions they are authorized to.

          1. Sep 02, 2008

            Ken Emmanuel says:

            Ok. I've tried login in and I get the following error: Unable to log in to serv...

            Ok. I've tried login in and I get the following error:

            Unable to log in to server: http://server/rpc/soap-axis/confluenceservice-v1 with user: automation.
             Cause: org.xml.sax.SAXParseException: White spaces are required between publicI
            d and systemId.

            I tried using three different confluence user accounts, but get the same error. What am I doing wrong?

             Thanks

            1. Sep 11, 2008

              Ken Emmanuel says:

              I still haven't been able to work around this issue (see below). Am I doing this...

              I still haven't been able to work around this issue (see below). Am I doing this wrong? Is there a different page to report issues?

              I would appreciate any assistance.

              Thanks

              Ok. I've tried login in and I get the following error:

              Unable to log in to server: http://servername/rpc/soap-axis/confluenceservice-v1 with user: automation.
               Cause: org.xml.sax.SAXParseException: White spaces are required between publicI
              d and systemId.

              I tried using three different confluence user accounts, but get the same error. 

               Thanks 

              1. Sep 11, 2008

                Bob Swift says:

                I am not familiar with this error. Can you create an issue with more details? ...

                I am not familiar with this error. Can you create an issue with more details? Specifically, your software versions, your complete command line input and output with the -v option. Make sure your server has remote API capability turned on and that running the http://servername/rpc/soap-axis/confluenceservice-v1 from a browser gives a page.

            2. Sep 15, 2008

              Andy Brook says:

              If it helps, I saw the same error when trying to pull jiraissue data from a jira...

              If it helps, I saw the same error when trying to pull jiraissue data from a jira server, which wasn't running. The parallel here could be that the your server is not resolving or the URL is not working, paste it into a browser and verify you get the Axis service page...

  38. Nov 06, 2008

    Jason Kwong says:

    Just have a couple of questions. 1. Is there some way I am able to view the gro...

    Just have a couple of questions.

    1. Is there some way I am able to view the groups and individual users that have access to a given site. Similar to what I see when I go to the Space Admin > Permission section. I am only able to see what permissions a user has on a given space.

    2. Any chance we can get more info on the getSpaceinfo action? Like who created it, when it was created, and last modified info?

    Thanks

    Jason K

  39. Jan 07

    Jamie says:

    Great utility Bob, and very useful for learning the remote API! cheers, jamie

    Great utility Bob, and very useful for learning the remote API!
    cheers, jamie

  40. Jan 07

    Paul Csapo says:

    Hello Bob, have you ever thought of making a GUI version of your Command Line In...

    Hello Bob, have you ever thought of making a GUI version of your Command Line Interface, as an actual plugin for the front end? (or to make it have some sort of visual representation with more "point and click" features?

    regards,
    Paul

    1. Jan 07

      Bob Swift says:

      Not really since it was built for automation. Please submit an issue with the us...

      Not really since it was built for automation. Please submit an issue with the use cases you are thinking of.

  41. Jan 25

    Herman de Boer says:

    Hi all, is there a description somewhere how to setup the CLI when working with...

    Hi all,

    is there a description somewhere how to setup the CLI when working with a remote (https !!) wiki?

    I am struggling for a few hours with keystores/cacerts, setting javax properties, etc, without much progress. Must be doing wrong something.

    Thanks in advance,

    Herman de Boer

    1. Jan 25

      Herman de Boer says:

      Just a bit more trying made it work. I found this page very useful. Regards, He...

      Just a bit more trying made it work. I found this page very useful.

      Regards, Herman.

  42. Feb 02

    Herman de Boer says:

    Hi All, i'm hitting CSOAP-29. Non-ascii characters are replaced by a '?', when ...

    Hi All,

    i'm hitting CSOAP-29. Non-ascii characters are replaced by a '?', when saving content to a file. Any chance for a fix or workaround?

    Thanks in advance,

    Herman.

  43. Feb 09

    Jared says:

    The help text for the --permissions option has a typo.  It says one of ...

    The help text for the --permissions option has a typo.  It says one of the valid space permissions is "viewsspace".  It should be "viewspace" with one "s".

  44. Feb 19

    David Lacey says:

    I am getting a socket timeout error when I export a large space. It looks like t...

    I am getting a socket timeout error when I export a large space. It looks like the timeout is set to 10 minutes. I have tried several settings in Tomcat and Confluence, but it always times out after 10 minutes. Is there a timeout setting for the cli? I looked at the code but it looks to be in a class that isn't available for review. Can we get an option to set the timeout for the cli, or does anyone know the option for Tomcat or Confluence that would resolve this? I have tried the disableUploadTimeout option and setting timeout to a high value and they have no effect. BTW, the space I am trying to export takes 30 minutes to complete.

    Here is the error.

    org.swift.common.cli.CliClient$ClientException: java.net.SocketTimeoutException: Read timed out

    1. Feb 19

      Bob Swift says:

      I believe it is a Confluence limitation. It has been discussed before without m...

      I believe it is a Confluence limitation. It has been discussed before without much help from Atlassian - see http://confluence.atlassian.com/display/CONFEXT/Confluence+Command+Line+Interface?focusedCommentId=112853402#comment-112853402

  45. Feb 24

    Claudia Heitz says:

    Hi there, is there a possibility to list all people (groups and/or individual u...

    Hi there,

    is there a possibility to list all people (groups and/or individual users) having a permission in a space? With getPermissionList I only get the permissions but not the users/groups.

    Thanks in advance
    Claudia

  46. Mar 03

    Tobias Lundberg says:

    Hi, I got "org.swift.common.cli.CliClient$ClientException: java.io.FileNotFound...

    Hi,

    I got "org.swift.common.cli.CliClient$ClientException: java.io.FileNotFoundException:" when I try to export a Space. If I look att the URL that is given it looks like there is a problem with an extra "/"

    Example: org.swift.common.cli.CliClient$ClientException: java.io.FileNotFoundException: [http://wiki.xxx.xxx.xxx/wiki//download/temp
    /export_03032009_101146/Dataservice-20090303-10_11_46-16.pdf?os_username=XXXXXXX&os_password=XXXXXXX]

    If I remove on slash before //download I can retrive the file through my browser.
    Is there a known bug?

    Im running confluence 2.9 as a war in a jboss.