2015-05-22 3 views
2

Я пытаюсь извлечь информацию из веб-сервиса, используя следующий код:Выполнение запроса GET в Java вызывает код ответа HTTP: 415

String kenteken = request.getParameter("InputKenteken"); 
     String uri = String.format("https://api.datamarket.azure.com/Data.ashx/opendata.rdw/VRTG.Open.Data/v1/KENT_VRTG_O_DAT('%s')", kenteken); 

     URL url = new URL(uri); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 

     connection.setRequestProperty("Content-Type","text/html"); 
     connection.setRequestMethod("GET"); 
     InputStream xml = connection.getInputStream(); 
     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder db = null; 
     try { 
      db = dbf.newDocumentBuilder(); 
     } catch (ParserConfigurationException ex) { 
      Logger.getLogger(CarServlet.class.getName()).log(Level.SEVERE, null, ex); 
     } 
     try { 
      Document doc = db.parse(xml); 
     } catch (SAXException ex) { 
      Logger.getLogger(CarServlet.class.getName()).log(Level.SEVERE, null, ex); 
     } 
     } 

я получаю код 415 ответа, когда я называю URL из кода в то время как URL-адрес работает отлично в хроме.

enter image description here

Это URL-я:

https://api.datamarket.azure.com/Data.ashx/opendata.rdw/VRTG.Open.Data/v1/KENT_VRTG_O_DAT('jnzd27')

+0

код у вас есть для разбора ответ не представляется, работает. –

ответ

2

415 response code указывает на то, что тип материала, который запрашивается не поддерживается. Если вы посмотрите в заголовках ответа хрома вы можете увидеть, что возвращаемый тип контента является:

Content-Type:application/atom+xml;type=entry;charset=utf-8 

кажется, что, принимая этот точный тип контента решает проблему. Таким образом, вместо того, чтобы:

connection.setRequestProperty("Content-Type","text/html"); 

использование:

connection.setRequestProperty("Accept","application/atom+xml"); 
+0

Использование connection.setRequestProperty ("Accept", "application/atom + xml"); решила проблему, спасибо! –

Смежные вопросы