java.lang.IllegalArgumentException: This method supports only the Types Cookie, CacheControl, Entity
来源:互联网 发布:linux daemon用户权限 编辑:程序博客网 时间:2024/05/22 00:19
问题:jersey Post方法添加head异常
环境:服务端 restlet 实现
client发送方法post get 采用 jersey,包采用 jersey-bundle 1.9
为什么不用 reslet 实现发送,经过测试 reslet post 方法效率很低 ,至于具体原因没深究
import
import com.sun.jersey.api.client.Client;import com.sun.jersey.api.client.WebResource;import com.sun.jersey.api.client.config.ClientConfig;import com.sun.jersey.api.client.config.DefaultClientConfig;
post 方法如下:
private static Client client = null;ClientConfig cc = new DefaultClientConfig();client = Client.create(cc);client.setConnectTimeout(10000);client.setReadTimeout(10000);}public static String postRestAPI(String url) {WebResource service = client.resource(url);try {String response = service.type(MediaType.APPLICATION_JSON).header("ClientID", Constant.CLIENT_ID).header("SignID", Constant.SIGN_ID).post(String.class).toString();log.info("rest:" + response);return response;} catch (Exception e) {e.printStackTrace();log.info("rest request error:" + e);return Constant.ERROR;}}
报异常:java.lang.IllegalArgumentException: This method supports only the Types Cookie, CacheControl, Entity
具体如下:
com.sun.jersey.api.client.ClientHandlerException: java.lang.IllegalArgumentException: This method supports only the Types Cookie, CacheControl, EntityTag, NewCookie and MediaTypeat com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:128)at com.sun.jersey.api.client.Client.handle(Client.java:435)at com.sun.jersey.api.client.WebResource.handle(WebResource.java:557)at com.sun.jersey.api.client.WebResource.access$300(WebResource.java:69)at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:491)at com.teraee.tcat.util.RestClient.postRestAPI(RestClient.java:82)at com.teraee.tcat.util.Register.tcatRegister(Register.java:68)at com.teraee.tcat.util.Register.run(Register.java:37)Caused by: java.lang.IllegalArgumentException: This method supports only the Types Cookie, CacheControl, EntityTag, NewCookie and MediaTypeat org.restlet.ext.jaxrs.internal.spi.RuntimeDelegateImpl.createHeaderDelegate(RuntimeDelegateImpl.java:101)at com.sun.jersey.api.client.ClientRequest.getHeaderValue(ClientRequest.java:213)at com.sun.jersey.api.client.TerminatingClientHandler.headerValueToString(TerminatingClientHandler.java:238)at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.writeOutBoundHeaders(URLConnectionClientHandler.java:227)at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:172)at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:126)... 7 more原因分析:
查看报错日志发现
org.restlet.ext.jaxrs.internal.spi.RuntimeDelegateImpl.createHeaderDelegate
restlet.的jar包报错,但是我用的是 jersey client 发送的, 所以判断是jar包冲突,也就是restlet Restlet jax-rs impl
createHeaderDelegate相关的实现 替代了 我想要的 jersey的正确实现
解决办法:
将 jersey相关jar包 放在restlet jar包的前面
0 0
- java.lang.IllegalArgumentException: This method supports only the Types Cookie, CacheControl, Entity
- Java.lang.IllegalArgumentException: Unknown entity:
- The Scheduler supports types
- java.lang.IllegalArgumentException: Unknown entity解决
- java.lang.IllegalArgumentException: An invalid domain [.test.com] was specified for this cookie
- java.lang.IllegalArgumentException: An invalid domain [.x.com] was specified for this cookie
- java.lang.IllegalArgumentException: An invalid domain [.test.com] was specified for this cookie
- gerrit注册邮箱500错java.lang.IllegalStateException:Can only invoke this method before calling getInstance
- Cookie报错java.lang.IllegalArgumentException
- Cookie报错java.lang.IllegalArgumentException
- Cookie报错java.lang.IllegalArgumentException
- Cookie报错java.lang.IllegalArgumentException
- Cookie报错java.lang.IllegalArgumentException
- Cookie报错java.lang.IllegalArgumentException
- java.lang.IllegalArgumentException: An invalid character [44] was present in the Cookie value
- java.lang.IllegalArgumentException: Unknown entity: cn.ibeans.web.model.User
- java.lang.IllegalArgumentException: The observer is null.
- java.lang.IllegalArgumentException: The observer is null.
- 【转】Spring 中jdbcTemplate 实现执行多条sql语句
- ps -aux ps -ef 命令
- 高并发电商平台架构实践
- spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- java.lang.IllegalArgumentException: This method supports only the Types Cookie, CacheControl, Entity
- 输出前n个数组合成的第k个数
- html-css-javascript题目集锦-1
- 常见算法及问题场景——动态规划
- 背包九讲的总结笔记(一)
- Mysql Binlog三种格式介绍及分析
- Android实现文件的复制
- 构造函数
- mybatis 中#与$的区别