2014-11-19 4 views
0

Я хочу знать, как я могу использовать OpenShift Rest API в приложении на основе C# .net. Я просмотрел URL-адрес https://access.redhat.com/documentation/en-US/OpenShift_Online/2.0/pdf/REST_API_Guide/OpenShift_Online-2.0-REST_API_Guide-en-US.pdf, здесь приведен пример для Ruby, Python и cRUL. но не упоминается для .Net. поэтому я создал образец приложения для потребления этого api. ниже код -Невозможно использовать OpenShift REST API в C# .net

string URL = "https://openshift.redhat.com/broker/rest/api"; 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); 
request.Method = "GET"; 
request.ContentType = "application/xml;"; 
try 
     { 
      WebResponse webResponse = request.GetResponse(); 
      Stream webStream = webResponse.GetResponseStream(); 
      StreamReader responseReader = new StreamReader(webStream); 
      string response = responseReader.ReadToEnd(); 
      Console.Out.WriteLine(response); 
      responseReader.Close(); 
     } 
     catch (Exception e) 
     { 
      Console.Out.WriteLine("-----------------"); 
      Console.Out.WriteLine(e.Message); 
     } 

При выполнении выше кода я получаю следующее сообщение об ошибке - «Удаленный сервер возвратил ошибку: (406) не допускается.»

Пожалуйста, позвольте мне, где я делаю неправильно. Заранее благодарен Jyoti

ответ

1

Вы используете неправильный HTTP-заголовок. ContentType используется для операций POST/PUT, чтобы сообщить серверу, чего ожидать. Когда вы получите ресурс, вы должны указать заголовок Accept.

request.Accept = "application/xml"; 
+0

Большое спасибо. он работает сейчас – Jyoti