Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 服务器拒绝了此请求,因为请求实体的格式不受Flex中请求方法的请求资源的支持_Java_Json_Actionscript 3_Apache Flex_Httpservice - Fatal编程技术网

Java 服务器拒绝了此请求,因为请求实体的格式不受Flex中请求方法的请求资源的支持

Java 服务器拒绝了此请求,因为请求实体的格式不受Flex中请求方法的请求资源的支持,java,json,actionscript-3,apache-flex,httpservice,Java,Json,Actionscript 3,Apache Flex,Httpservice,我必须从Flex调用Java中的一个方法,该方法使用JSON并将信息保存在DB中。当我从JSP调用它时,它接受输入,但当我从Flex应用程序调用它时,它给出了错误 “服务器拒绝了此请求,因为请求实体的格式不受请求方法的请求资源的支持” 下面是我的Flex示例代码 var p:Object = new Object(); p.firstName = 'Mary'; p.lastName = 'Thomas'; p.gender = 'Female'; var httpServ:HttpServ

我必须从Flex调用Java中的一个方法,该方法使用JSON并将信息保存在DB中。当我从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();
     }

}

你好,吉勒尼。谢谢你的快速回复。我像urs一样修改了代码。现在它说“客户端发送的请求在语法上不正确。”这是一个请求映射错误,您可以发布服务方法吗?try:public void save(@RequestParam(value=“p”)Person)抛出异常{…}尝试了上述修复,但它仍然说客户端发送的请求在语法上不正确
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);