Как отладить УСПОКОИТЕЛЬНЫЕ сервисы? [закрытый]

Этот ответ относится к более старой версии Java. Вы можете посмотреть на ответ ccleve.


Вот традиционный способ сделать это:

import java.net.*;
import java.io.*;

public class URLConnectionReader {
    public static String getText(String url) throws Exception {
        URL website = new URL(url);
        URLConnection connection = website.openConnection();
        BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                    connection.getInputStream()));

        StringBuilder response = new StringBuilder();
        String inputLine;

        while ((inputLine = in.readLine()) != null) 
            response.append(inputLine);

        in.close();

        return response.toString();
    }

    public static void main(String[] args) throws Exception {
        String content = URLConnectionReader.getText(args[0]);
        System.out.println(content);
    }
}

Как предложил @extraneon, ioutils позволяет вам сделать это в очень красноречивый путь, который все еще находится в духе Java:

 InputStream in = new URL( "http://jakarta.apache.org" ).openStream();

 try {
   System.out.println( IOUtils.toString( in ) );
 } finally {
   IOUtils.closeQuietly(in);
 }

57
задан 3 revs, 3 users 57% 23 May 2013 в 08:34
поделиться

10 ответов

Используйте существующий инструмент 'REST client', который облегчает осматривать запросы и ответы, как RESTClient.

34
ответ дан John Sheehan 24 November 2019 в 19:39
поделиться

Я склонен писать модульные тесты на УСПОКОИТЕЛЬНЫЕ ресурсы с помощью Джерси , который идет с хорошим клиентом REST. Хорошая вещь состоит в том при реализации УСПОКОИТЕЛЬНЫХ ресурсов с помощью JAX-RS тогда, клиент Джерси может снова использовать поставщиков объекта таких что касается JAXB/XML/JSON/Atom и т.д - таким образом, можно снова использовать те же объекты на стороне сервера, как Вы используете на клиентском модульном тесте.

, Например вот случай модульного теста от проект Camel Apache, который ищет, полезные нагрузки XML от УСПОКОИТЕЛЬНОГО ресурса (использующий JAXB возражают Конечным точкам). Ресурс (uri), метод определяется в этот базовый класс , который просто использует клиентский API Джерси.

, например,

clientConfig = new DefaultClientConfig();
client = Client.create(clientConfig);

resource = client.resource("http://localhost:8080");
// lets get the XML as a String
String text = resource("foo").accept("application/xml").get(String.class);
0
ответ дан Jasper 24 November 2019 в 19:39
поделиться

Я использую restclient, доступный от Google Code . Это - простой Java приложение Swing, которое поддерживает все методы HTTP и позволяет Вам полный контроль над HTTP-заголовками, conneg, и т.д.

0
ответ дан Ian Dickinson 24 November 2019 в 19:39
поделиться

Кроме использования одного из инструментов в ответе Peter Hilton, я должен был бы сказать, что сценарии тестов с LWP или некоторым подобным инструментом могут быть Вашей единственной опцией. Вы могли обходить использование LWP, просто открыв сокет, представив необработанный Запрос HTTP и исследовав то, что Вы получаете в ответ. Но насколько я знаю, существует недостаток инструментов тестирования для этого вида домена - большая часть взгляда на это пространство задач, прежде всего, от линзы разработчика веб-сайта, и для них, браузер является действительно платформой тестирования.

0
ответ дан rjray 24 November 2019 в 19:39
поделиться

Можно использовать скрипача Компоновщик для отладки успокоительные сервисы ..

Обновленный JD 12 сентября 2013: Разработчика Отдыха теперь звонят Компоновщик .

4
ответ дан Jan Doggen 24 November 2019 в 19:39
поделиться

cURL работает просто великолепно.

4
ответ дан Hank Gay 24 November 2019 в 19:39
поделиться

В моей фирме мы используем множество различных инструментов и подходов к тестированию УСПОКОИТЕЛЬНЫХ сервисов:

  • Мы пишем ЗАВИХРЕНИЕ сценарии - по существу единственная команда, сохраненная в файле. Один файл на ресурс на метод. Для ПОМЕЩЕННОГО и POST, у нас обычно будут файлы, содержащие представления для отправки вместе с ВИХРЕВЫМ сценарием. Например, для ресурса почтового ящика, у нас мог бы быть файл, названный mailbox_post.cmd, который мог бы содержать строку curl -v -X POST -u username -H 'Content-Type:application/xml' -d @mailbox_post.xml http://service/mailbox. Нам нравится этот подход, потому что мы заканчиваем тем, что создали набор тестов, которые могут запускаться в пакете, или по крайней мере раздаваться между тестерами и использоваться для регрессионного тестирования.

  • Мы используем ЗАВИХРЕНИЕ и RESTClient для специальных тестов

  • , Мы сделали, чтобы сервис обслуживал XHTML по умолчанию, таким образом, это доступно для просмотра, и добавьте ресурсы форм, таким образом, сервис на самом деле частично или полностью тестируемое использование браузера. Это было частично вдохновлено некоторыми частями УСПОКОИТЕЛЬНЫЕ веб-сервисы , где авторы показывают, что строка между веб-сервисами и веб-приложениями, возможно, не должна быть столь твердой и строгой, как обычно принимается.

  • Мы пишем функциональные испытания как Groovy закрытия, с помощью платформа Restlet , и запускаем тесты с исполнителем тестов сценарий Groovy. Это полезно, потому что тесты могут быть с сохранением информации, основываться друг на друге и совместно использовать переменные, в надлежащих случаях. Мы находим, что API Restlet прост и интуитивен, и так легок записать быстрые Запросы HTTP и протестировать ответы, и это еще легче, когда используется в Groovy. (Я надеюсь совместно использовать эту технику, включая сценарий исполнителя тестов, на наш блог скоро.)

15
ответ дан Avi Flax 24 November 2019 в 19:39
поделиться

Инструмент, который я нашел полезным, если вы используете OS X Leopard:

HTTP-клиент

Это очень простая программа с графическим интерфейсом, которая позволяет создавать запросы http к ресурсу. и просмотрите ответ.

5
ответ дан 24 November 2019 в 19:39
поделиться

RESTTest для Firefox (дополнение). Скрипач для IE.

2
ответ дан 24 November 2019 в 19:39
поделиться

Если вам нужен бесплатный инструмент для той же цели с дополнительной возможностью отправки данных в многочастной форме, то он находится здесь http://code.google.com/a/eclipselabs.org/p/restclient-tool/

0
ответ дан 24 November 2019 в 19:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: