Re: [xwiki-users] xWiki RESTful/HTTP Connection

2016-04-17 Thread Tobi
Thank you for your response!

As far as I know there is no PutMethod (which you use in your code) class in
new versions of Apache's HTTP library. Same goes for many other methods
which.

Or maybe I'm just missing the point and there IS a library with required
Classes and Methods of which I know nothing about (if it's true then I would
be really grateful if your provide me a link).



--
View this message in context: 
http://xwiki.475771.n2.nabble.com/xWiki-RESTful-HTTP-Connection-tp7599026p7599028.html
Sent from the XWiki- Users mailing list archive at Nabble.com.
___
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users


Re: [xwiki-users] xWiki RESTful/HTTP Connection

2016-04-17 Thread Mohamed Boussaa
Hi,

You can use the new version of Apache's HTTP library, as follows, hope
it'll help you.

public class RestTest {
   /**
   * Create and initialize the http client.
   *
   * @return an HttpClient object
   */
   HttpClient getClient(host, port, username, password) {
  HttpClient httpClient = new HttpClient();
  httpClient.getParams().setAuthenticationPreemptive(true);
  httpClient.getState().setCredentials(
 new AuthScope(host, port, AuthScope.ANY_REALM),
 new UsernamePasswordCredentials(username, password)
  );
  return httpClient;
   }

   public static void main(String[] args) throws IOException {
 // Get request example
  HttpClient httpClient = getClient(yourHost, yourPort, yourUsername,
yourPassword);
  GetMethod getMethod = new GetMethod(getURL);
  getMethod.addRequestHeader("Accept", "application/json");
  getMethod.setDoAuthentication( true );
  String getURL = "your get url";
  try {
  int status = httpClient.executeMethod(getMethod);
 System.out.println(getMethod.getResponseBodyAsString());
   } catch (Exception e) {
 //...
  } finally {
  // release any connection resources used by the method
  getMethod.releaseConnection();
   }

  // Put request example
  String putURL = "your put url";
  PutMethod putMethod = new PutMethod(putURL);
putMethod.addRequestHeader("Accept", "application/json");
putMethod.setDoAuthentication( true );
try {
   int status = httpClient.executeMethod(putMethod);
  System.out.println(putMethod.getResponseBodyAsString());
} catch (Exception e) {
   // ...
  } finally {
   // release any connection resources used by the method
  putMethod.releaseConnection();
}
  }
}




Best regards,
Mohamed.

On Sun, Apr 17, 2016 at 9:24 PM, Mohamed Boussaa 
wrote:

> Hi,
>
> You can use the new version of Apache's HTTP library, as follows, hope
> it'll help you.
>
> public class RestTest {
>/**
>* Create and initialize the http client.
>*
>* @return an HttpClient object
>*/
>HttpClient getClient(host, port, username, password) {
>   HttpClient httpClient = new HttpClient();
>   httpClient.getParams().setAuthenticationPreemptive(true);
>   httpClient.getState().setCredentials(
>  new AuthScope(host, port, AuthScope.ANY_REALM),
>  new UsernamePasswordCredentials(username, password)
>   );
>   return httpClient;
>}
>
>public static void main(String[] args) throws IOException {
>  // Get request example
>   HttpClient httpClient = getClient(yourHost, yourPort, yourUsername,
> yourPassword);
>   GetMethod getMethod = new GetMethod(getURL);
>   getMethod.addRequestHeader("Accept", "application/json");
>   getMethod.setDoAuthentication( true );
>   String getURL = "your get url";
>   try {
>   int status = httpClient.executeMethod(getMethod);
>  System.out.println(getMethod.getResponseBodyAsString());
>} catch (Exception e) {
> //...
>   } finally {
>   // release any connection resources used by the method
>   getMethod.releaseConnection();
>}
>
>   // Put request example
>   String putURL = "your put url";
>   PutMethod putMethod = new PutMethod(putURL);
> putMethod.addRequestHeader("Accept", "application/json");
> putMethod.setDoAuthentication( true );
> try {
>int status = httpClient.executeMethod(putMethod);
>   System.out.println(putMethod.getResponseBodyAsString());
> } catch (Exception e) {
>// ...
>   } finally {
>// release any connection resources used by the method
>   putMethod.releaseConnection();
> }
>   }
> }
>
>
>
>
> Best regards,
> Mohamed.
>
> On Sun, Apr 17, 2016 at 7:25 PM, Tobi  wrote:
>
>> Hello,
>>
>> I was trying to write a program which would upload new pages on my wiki. I
>> was following these instructions
>> http://platform.xwiki.org/xwiki/bin/view/Features/XWikiRESTfulAPI , but
>> unfortunately most of the examples use old version of Apache's HTTP
>> library,
>> so they are not very useful for me.
>>
>> So I decided to try writing a program by following Apache's examples, but
>> when I was testing connectivity I realised that I can't even get access to
>> admin-only pages.
>>
>> Here's my code:
>>
>> import java.io.IOException;
>> import org.apache.http.auth.AuthScope;
>> import org.apache.http.auth.UsernamePasswordCredentials;
>> import org.apache.http.client.CredentialsProvider;
>> import org.apache.http.client.methods.CloseableHttpResponse;
>> import org.apache.http.client.methods.HttpGet;
>> import org.apache.http.impl.client.BasicCredentialsProvider;
>> import org.apache.http.impl.client.CloseableHttpClient;
>> import org.apache.http.impl.client.HttpClients;
>> import org.apache.http.util.EntityUtils;
>>
>> public class RestTest {
>>
>> public static void main(String[] args) throws IOException {
>> 

[xwiki-users] xWiki RESTful/HTTP Connection

2016-04-17 Thread Tobi
Hello,

I was trying to write a program which would upload new pages on my wiki. I
was following these instructions
http://platform.xwiki.org/xwiki/bin/view/Features/XWikiRESTfulAPI , but
unfortunately most of the examples use old version of Apache's HTTP library,
so they are not very useful for me. 

So I decided to try writing a program by following Apache's examples, but
when I was testing connectivity I realised that I can't even get access to
admin-only pages.

Here's my code:

import java.io.IOException;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class RestTest {

public static void main(String[] args) throws IOException {
CredentialsProvider credsProvider = new
BasicCredentialsProvider();
credsProvider.setCredentials(
new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT,
AuthScope.ANY_REALM, AuthScope.ANY_SCHEME),
new UsernamePasswordCredentials("Tobi", "mypass"));
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCredentialsProvider(credsProvider)
.build();
try {
HttpGet httpget = new
HttpGet("http://xwiki.aircr.ru/xwiki/bin/edit/Main/WebHome;);

System.out.println("Executing request " +
httpget.getRequestLine());
CloseableHttpResponse response = httpclient.execute(httpget);
try {

System.out.println("");
System.out.println(response.getStatusLine());
EntityUtils.consume(response.getEntity());
} finally {
response.close();
}
} finally {
httpclient.close();
}
}

}

It gives me:
Executing request GET http://xwiki.aircr.ru/xwiki/bin/edit/Main/WebHome
HTTP/1.1

HTTP/1.1 401 Unauthorized


I would really appreciate any help! Also, it would be great if you show me
more examples of using PUT method for xWiki RESTful!



--
View this message in context: 
http://xwiki.475771.n2.nabble.com/xWiki-RESTful-HTTP-Connection-tp7599026.html
Sent from the XWiki- Users mailing list archive at Nabble.com.
___
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users