2014-02-20 3 views
0

У меня есть следующий Servlet:Джерси: WAR не получает POST

// 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 - Хватает строковое значение для "Key" и выводит значение в файл

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

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

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

ответ

0

Используется плагин postman для Firefox для тестирования и отладки. Прекрасно работает.

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