Как (имитировать) ПУБЛИКАЦИЮ в JUnit

#post #junit #playframework

#Публикация #junit #playframework

Вопрос:

Я пытаюсь заставить сервер ответить на запрос, для которого требуется структура XML. Я подумал, что самым простым способом было бы создать публикацию со строкой, содержащей XML, используя Play Framework.

Однако, похоже, я не могу заставить его работать. Я вызываю тест со следующим кодом:

     Map<String,String> map = new HashMap<String,String>();
    map.put("data", xmlString);
    Http.Response response = POST("/server/", map);
  

Когда на сервере проверяется параметр, его в нем нет, поскольку он возвращает false:

      params._contains("data")
  

Комментарии:

1. в вашем случае, если сервер ожидает XML, и вы отправляете data=SOME_XML, это не XML, не так ли?

2. Не совсем уверен, что вы имеете в виду. Я не возражаю, какой лучший способ отправить его, просто механизм для отправки XML на сервер, используя обычную http-операцию, чтобы упростить его. xmlstring содержит DOM, отображаемый в строку. Может быть, мой вопрос должен быть более фундаментальным: как лучше всего это сделать?

3. mandubian спрашивает, должен ли xml быть параметром или телом запроса.

4. Хорошо, хорошо, я думаю, что здесь я показываю свое невежество (поскольку я пытаюсь это сделать в первый раз, пока я просто ввел параметры в адресный путь, но теперь мне нужно более сложное общение). Я должен посмотреть, как это сделать, но тогда это в теле, я думаю

5. Отправка XML в параметре запроса на самом деле не рекомендуется, или если он действительно очень короткий. XML обычно отправляется непосредственно в теле сообщения и, следовательно, он не будет отображаться в параметрах запроса. Прочитайте несколько вещей, и я думаю, вы должны найти решение самостоятельно;)