summaryrefslogtreecommitdiffstats
path: root/archiva-docs/src/site/apt/adminguide/webservices/xml-rpc.apt
blob: ca6abc4202bf9802e00d7014ca4f4925a79e2dc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
 ------
 Using Archiva Xml Rpc
 ------
 Maria Odea Ching
 ------
 2011-09-16
 ------

~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements.  See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership.  The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License.  You may obtain a copy of the License at
~~
~~   http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied.  See the License for the
~~ specific language governing permissions and limitations
~~ under the License.

~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/guides/mini/guide-apt-format.html

Using Archiva Xml Rpc

  Web services is a new feature for 1.2. Archiva exposes two types of services: administrative and search. A sample client
  that shows how to access these services is provided in the source code. You can check out the module for the sample client at:

+----+
http://svn.apache.org/repos/asf/archiva/tags/archiva-1.2/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/
+----+  

  The SampleClient class shows how to connect to and invoke the Archiva web services. To execute the sample client, edit
  the following configuration in the archiva-xmlrpc-client module's pom.xml:

+-------------------------------------------------------------------------+
<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <configuration>
          <executable>java</executable>
          <mainClass>org.apache.archiva.web.xmlrpc.client.SampleClient</mainClass>
          <arguments>
            <!--
                 URL: ex. http://127.0.0.1:8080/archiva/xmlrpc
                 USERNAME & PASSWORD: Archiva credentials
            -->
            <argument>http://127.0.0.1:8080/archiva/xmlrpc</argument>
            <argument>admin</argument>
            <argument>${password}</argument>
          </arguments>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
+-------------------------------------------------------------------------+

  In the first \<argument\>, set the url of the Archiva instance you are running but make sure that you have </xmlrpc> appended
  at the end. For example if your Archiva instance is running in localhost and port 8080, then set it to http://localhost:8080/archiva/xmlrpc.

  The second \<argument\> corresponds to the username of the existing Archiva user that will be used to access the services while
  the last \<argument\> is where you set the user's password.

  After configuring the pom, you can now run the sample client by executing <<mvn exec:java>> in the command-line. You should be
  able to see the list of managed and remote repositories, the list of repository consumers and more printed on the
  command-line.

* Administration Service

  In order for a user to be able to access the Administration services, the user must have a <<System Administrator>> role in Archiva.

  The Administration Service exposes the following methods:

  [[1]] Boolean executeRepositoryScanner( String repoId ) - triggers the repository scanner to scan the specified repository.

  [[5]] List\<String\> getAllRepositoryConsumers() - retrieves all the Archiva repository consumers associated with the repository scanning.

  [[6]] Boolean configureRepositoryConsumer( String repoId, String consumerId, boolean enable ) - enables or disables the specified
     repository consumer.

  [[7]] List\<ManagedRepository\> getAllManagedRepositories() - retrieves all the managed repositories in Archiva.

  [[8]] List\<RemoteRepository\> getAllRemoteRepositories() - retrieves all the remote repositories in Archiva.

  [[9]] Boolean deleteArtifact( String repoId, String groupId, String artifactId, String version ) - deletes the specified artifact from
     the repository.

* Search Service

  To access the Search Service, the user must have at least a <<Repository Observer>> role.

  The Search Service exposes the following methods:

  [[1]] List\<Artifact\> quickSearch( String queryString ) - search for the specified term. This behaves just like Archiva's Quick Search
     from the web app.

  [[2]] List\<Artifact\> getArtifactByChecksum( String checksum ) - search for artifact(s) matching the specified checksum. This behaves like
     the Find Artifact from the web app.

  [[3]] List\<Artifact\> getArtifactVersions( String groupId, String artifactId ) - retrieves all available versions of the artifact.

  [[4]] List\<Artifact\> getArtifactVersionsByDate( String groupId, String artifactId, String version, Date since ) - <not yet implemented>

  [[5]] List\<Dependency\> getDependencies( String groupId, String artifactId, String version ) - retrieves all the dependencies of the specified
     artifact. This is the equivalent of the Dependencies tab in the Artifact Browse.

  [[6]] List\<Artifact\> getDependencyTree( String groupId, String artifactId, String version ) - <not yet implemented>

  [[7]] List\<Artifact\> getDependees( String groupId, String artifactId, String version ) - retrieves all the artifacts with a
     dependency on the specified artifact. This is the equivalent of the Used By tab in the Artifact Browse.