Джерси: ВОЙНА не получает ПОЧТУ

У меня есть следующий сервлет:

// Sets the path to base URL + /servlet
@Path("/servlet") 
public class Servlet 
{ 

// This method is called if TEXT_PLAIN is request 
@POST 
@Produces(MediaType.TEXT_HTML) 
@Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
public void storeData(@FormParam("data1") String data1, 
        @FormParam("data2") String data2, 
        @Context HttpServletResponse servletResponse) throws IOException 
{
 //Does stuff here
}
} 

У меня есть следующий клиент:

//Create HTTP Client
DefaultHttpClient httpclient = new DefaultHttpClient();

// Use SSL
httpclient = sslClient(httpclient);

// Prepare the post statement
HttpPost httppost = new HttpPost(url);

// Add auth header with utility account information
httppost.addHeader("Authorization", "Basic " + Base64.encodeToString(("username" + ":"
            + "password").getBytes(), Base64.NO_WRAP));

postParameters.add(new BasicNameValuePair("data1", data1));
postParameters.add(new BasicNameValuePair("data2", data2));

httppost.setEntity(new UrlEncodedFormEntity(postParameters));

// Execute the post request
HttpResponse response = httpclient.execute(httppost);

Тестовый код сервера в PHP - захватывает строковое значение для "ключа" и выводит значение в файл

$content =$_POST['data1'];
$file = "newtext.txt";
$Saved_File = fopen($file, 'w');
fwrite($Saved_File, $content);
fclose($Saved_File);

Тестовый скрипт PHP работает. Он получает сообщение, и я могу просмотреть data1 в текстовом файле на сервере. Однако метод Servlet @POST, похоже, не вызывается.

Есть ли способ отладить это? У кого-нибудь есть идеи, как заставить это работать? Я не уверен, должен ли я использовать @FormParam или @QueryParam или @HeaderParam. Как вызывается метод @POST?

1 ответ

Решение

Использовал плагин Postman для Firefox для тестирования и отладки. Работает отлично.

Другие вопросы по тегам