Сервер отклонил этот запрос, потому что объект запроса находится в формате, который не поддерживается запрошенным ресурсом для запрошенного метода во Flex

Я должен вызвать метод в Java из Flex, который использует JSON и сохраняет информацию в БД. Когда я вызываю его из JSP, он принимает входные данные, но когда я вызываю его из приложения Flex, он выдает мне ошибку "Сервер отклонил этот запрос, потому что объект запроса находится в формате, который не поддерживается запрошенным ресурсом для запрошенного метода"

Ниже приведен мой пример кода от Flex.

var p:Object = new Object();
p.firstName  = 'Mary';
p.lastName = 'Thomas';
p.gender = 'Female';

var httpServ:HttpService = new HttpService();
httpServ.url ="http://localhost/samplewebservice/myPerson/insert";
httpServ.useProxy = false;
httpServ.method = "POST"
httpServ.headers = {Accept: 'application/x-www-form-urlencoded'}
httpServ.contentType = "application/x-www-form-urlencoded";
var jd:JSONEncoder = new JSONEncoder(p);
var s:String = jd.getString();
httpServ.send(s);

Пожалуйста, дайте мне знать, где это пошло не так. заранее спасибо

Код моего сервиса

@POST
@Path("/insert")
@consumes(MediaType.APPLICATION_JSON)
@RequestMapping(value = "/insert")
public void save(@RequestBody Person person)throws Exception{
   try{
          myservice.insert(person);
      }
   catch(Exception e)
    {
        e.printStacktrace();
     }

}

1 ответ

Решение
var httpServ:HttpService = new HttpService();
httpServ.url ="http://localhost/samplewebservice/myPerson/insert";
httpServ.method = "POST";

httpService.contentType="application/json";

var header:Object=new Object();
header["Accept"] = "application/json";
httpService.headers = header;    

var p:Object = new Object();
p.firstName  = 'Mary';
p.lastName = 'Thomas';
p.gender = 'Female';

var params:Object=JSON.encode(p);
httpService.send(params);
Другие вопросы по тегам