MyEclipse Web服务开发:SOAP与RESTful接口创建与测试教程

落枫君_9571

落枫君_9571

2026-06-30

212人浏览

原创

必须在myeclipse中新建web service project时明确选择rest(jax-rs)框架,否则@pathvariable等注解失效、路径404;类与方法均需正确使用@path,路径拼接严格匹配;测试post/put须设置content-type,避免415错误。

myeclipse web服务开发:soap与restful接口创建与测试教程

MyEclipse里创建REST服务,别直接选“Web Service Project”

MyEclipse的“Web Service Project”向导默认倾向SOAP(尤其老版本),选错框架会导致后续加JAX-RS注解无效、@Path不生效、甚至404。必须在新建项目时明确指定框架为 REST(JAX-RS),而不是留空或选“Axis2”“CXF”等SOAP相关选项。

常见错误现象:HTTP 404 访问 /services/xxx 报错;浏览器能打开首页但所有 @GET 路径返回 404;web.xml 里没生成 ServletContainer 配置。

  • 新建项目路径:File → New → Web Service Project → 勾选 REST(JAX-RS)
  • 务必勾选 Generate web.xml deployment descriptor,否则 servlet 映射不会自动写入
  • 如果项目已建好但选错了框架,不要硬改配置——重开新项目更省时间

REST资源类里@Path和@PathParam写错位置就404

@Path 必须同时出现在类和方法上,且路径拼接规则严格:类级 @Path("customer") + 方法级 @Path("{id}") → 实际访问路径是 /customer/{id},不是 /customer/id 或 /customer/{id}/(末尾斜杠会破坏匹配)。

容易踩的坑:

  • @PathParam("id") 的字符串必须和 URL 花括号内完全一致,大小写敏感,多一个空格都不行
  • 参数类型必须与路径变量语义匹配:ID 用 int 或 long,别用 String 后再手动 parse(除非真需要原始字符串)
  • 如果方法参数用了 @QueryParam 却写成 @PathParam,JAX-RS 容器根本不会注入值,参数为 null 或 0

测试REST接口时,别只靠浏览器GET,POST/PUT要配Content-Type

浏览器地址栏只能发 GET 请求,且无法设置请求头。用 curl 或 SoapUI 测试 POST/PUT 时,漏设 Content-Type: application/json 是最常导致 415 Unsupported Media Type 错误的原因。

Eclipse IDE
Eclipse IDE

Eclipse IDE 是一款由 Eclipse 基金会管理的开源、跨平台集成开发环境。其核心基于 Java 构建,通过强大的插件架构可扩展支持 C/C++、Python、PHP 等多种编程语言。它提供丰富的代码编辑、调试和重构工具,并紧密集成 Git、Maven 等现代开发工具链,是全球众多开发者首选的 Java 开发利器。

下载

示例(发送 JSON 创建顾客):

curl -X POST http://localhost:8080/restdemo/jaxrs/customer \
  -H "Content-Type: application/json" \
  -d '{"id":1,"name":"Alice","address":"Beijing"}'

注意点:

  • MyEclipse 默认用 Jersey 1.x,它对 application/json 支持依赖 jersey-json.jar,若缺失会报 MessageBodyWriter not found
  • 如果用 JAXB(@XmlRootElement)而没配 XML 头,Content-Type: application/xml 必须显式声明
  • SoapUI 中要在 “Request Properties” 里手动添加 Header,不能只填 Body

SOAP服务调试失败,先确认WSDL是否能被浏览器打开

SOAP 接口本质靠 WSDL 文件描述契约,如果 http://localhost:8080/yourapp/YourService?wsdl 打不开或返回 404,说明底层 servlet 没注册成功,REST 和 SOAP 的容器冲突很常见。

典型原因:

  • 同一个项目混用 JAX-RS 和 JAX-WS 注解,MyEclipse 可能只加载其中一个容器
  • web.xml 里同时存在 ServletContainer(JAX-RS)和 AxisServlet(SOAP),但没隔离 URL pattern
  • WSDL 地址里的服务名(如 YourService)必须和你发布的类名、@WebService 的 name 属性一致

复杂点在于:REST 和 SOAP 共存时,URL 路由极易打架。比如 /services/* 被 Jersey 占了,SOAP 就收不到请求。要么分不同 context path,要么用不同 servlet name,不能图省事全扔一个路径下。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

myeclipse eclipse

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
PHP API接口开发与RESTful实践
PHP API接口开发与RESTful实践

本专题聚焦 PHP在API接口开发中的应用,系统讲解 RESTful 架构设计原则、路由处理、请求参数解析、JSON数据返回、身份验证(Token/JWT)、跨域处理以及接口调试与异常处理。通过实战案例(如用户管理系统、商品信息接口服务),帮助开发者掌握 PHP构建高效、可维护的RESTful API服务能力。

2025.11.26

524

16

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3128

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

4749

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3769

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

446

15

MyEclipse工具使用教程
MyEclipse工具使用教程

PHP中文网推出MyEclipse开发工具完整使用教程专区,涵盖从安装配置、项目创建到代码调试与部署的全流程指南。无论是Java EE企业级开发还是PHP项目实战,这里提供一站式学习资源,助您快速掌握这款强大IDE,提升开发效率!

2026.06.26

262

21

MyEclipse使用问题解决方法大全
MyEclipse使用问题解决方法大全

PHP中文网MyEclipse专区,汇集启动报错、运行卡顿、数据库连接失败等常见开发难题。提供代码提示失效、中文乱码、内存溢出等问题的权威解决方案与优化技巧,助您快速排查故障,提升Java EE开发效率!

2026.06.26

448

16

MyEclipse安装教程与配置指南
MyEclipse安装教程与配置指南

PHP中文网MyEclipse专区提供全版本安装教程与配置指南,涵盖从环境搭建到插件扩展的完整流程。无论是新手入门还是进阶开发,都能在此获取权威、详细的实操指引,助您轻松掌握这款强大的Java EE集成开发环境,高效开启企业级应用开发之旅。

2026.06.26

154

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Django DRF 源码解析
Django DRF 源码解析

共21课时 | 2万人学习

SOAP入门教程
SOAP入门教程

共10课时 | 12.5万人学习