tomcat发布基于jersey的WebService(二)
来源:互联网 发布:北京做网络推广的公司 编辑:程序博客网 时间:2024/05/21 04:40
周末继续学习jersey,测试了几个get和post方式的webservice请求,并模拟客户端测试调用情况。在google中找到了这么一篇相关的文章:
REST: CRUD with JAX-RS (Jersey) 。 结果做到一半出了问题,服务端总是获取不到客户端请求的数据流内容!调试了一个下午未果,却在第二天如梦方醒般的找到了原因。教训1:学习下http协议;教训2:老外的东西不一定是对的。
周末的测试主要还是基于jersey的webservice服务。对get和post两种方式发送请求的几种情况都做了简单的示例(上传文件的情况未测试,待续)。
service端:
客户端可以采用两种方式测试。
1,采用jersey实现的测试api:jersey-twitter-client-1.0-SNAPSHOT-jar-with-dependencies.jar
2,采用apache httpclient 模拟客户端的各种请求。
上面提到的参考e文中是采用的第二种方式。在这里我使用jersey测试api来实现。
过程中遇到的问题就是提交流的时候,错误的参考了e文中 “@Consumes
(
"application/xml"
) ”的请求类型! 结果导致service 端 接受请求的方法参数InputStream 得不到内容。换作@Context HttpServeltRequest request 参数也无济于事。于是在网上搜索,在一个国外论坛中有人提到相似的问题“上传文件得不到流里的内容,但是jetty里可以,tomcat里不可以。?”。好像没有太大参考,但我也试了下,还是失败。。。
今天修改提交类型注解为:@Consumes("application/x-www-form-urlencoded") ,测试通过!终于才恍然大悟:application/xml是客户端接受的内容类型。哎,是应该学习下http协议的相关知识,这样的问题耽误了大半天的时间!
另外,对于jax-ws中几个注解,简单总结下:
QueryParam--url ? 后面表示的参数 . get post 通用.
PathParam---url中的一部分,例如用{}表示的url中的一部分。get post 通用。
FormParam---post提交的form表单参数。 用于 post
( 其他几个param稍后再学习)。
- tomcat发布基于jersey的WebService(二)
- tomcat发布基于jersey的WebService
- tomcat发布基于jersey的WebService(一)
- tomcat发布基于jersey的WebService(三)
- jersey学习之二(基于maven的例子)基于1.x的jersey
- 一个实例演示jersey框架实现RESTful风格的Webservice,并发布到Tomcat,以及客户端调用示范
- webservice(七)发布webservice为tomcat服务的方法
- 基于jersey v2.10的webservice核心框架
- 基于jersey搭建RESTful风格的WebService接口
- WebService学习之旅(二)JAX-WS基于Web容器发布WebService
- Spring + Jersey构建发布Restful WebService
- 验证发布到Tomcat的基于JAX-WS的Webservice的并发
- WebService(二)jdk发布webservice服务
- 基于PI的Webservice发布实例
- 用python发布基于soap的webservice
- spring中发布基于cxf的webservice
- webservice 基于spring的cxf发布
- 基于CXF 发布 restful风格的webservice
- 巨蟹座男生的爱情
- 最简单的java单例
- Linux 下的错误 error.h
- int86相关(Borland C++)
- Nice Menus模块的安装使用
- tomcat发布基于jersey的WebService(二)
- Ubuntu 9.04 server安装nginx+php(fastcgi)
- 无奈
- Flex 各个keycode值对照
- 14.字符串、格式化、正则表达式【下】
- java实现中文转化为拼音与简称
- 清理windows资源管理器右键"打开方式","新建"菜单
- drupal:如何显示primary-link的子菜单
- 努力点