You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Glassfish 5部署Java SOAP项目未暴露WSDL返回404问题求助

问题排查方案
  • 首先确认应用部署状态和上下文路径
    登录Glassfish默认管理控制台http://localhost:4848,在「应用程序」列表中查看该服务的运行状态是否为Running,同时确认应用配置的上下文路径是否和你访问的/service-1.0-SNAPSHOT一致。如果应用部署状态为失败,可查看domain/logs/server.log日志文件定位部署阶段的具体报错信息。
  • 修正访问路径规则
    直接访问应用根路径http://fullnames-macbook-pro.local:8080/service-1.0-SNAPSHOT返回404是正常情况,因为根路径没有配置对应的资源映射。标准JAX-WS服务的WSDL访问格式为:[应用上下文路径]/[服务映射路径]?wsdl,你需要先确认服务类上@WebService注解配置的路径,例如服务类注解为@WebService(serviceName = "UserService"),则默认WSDL地址为http://fullnames-macbook-pro.local:8080/service-1.0-SNAPSHOT/UserService?wsdl。
  • 检查JDK版本兼容性
    Glassfish 5 最低要求运行环境为JDK 8,你当前pom配置的编译版本为JDK 1.7,虽然理论上向下兼容,但建议将pom中的编译配置修改为1.8,避免版本兼容问题:
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    
  • 检查WebService注解配置
    确认你的服务实现类是否添加了@WebService注解,且类没有被错误标记为final、static,也不存在无参构造函数缺失的问题。如果是基于Servlet的JAX-WS服务,还需要确认是否在web.xml中配置了WSServlet的映射,或者是否启用了Servlet 3.0+的注解扫描。
  • 修正依赖版本匹配问题
    你pom中引入的glassfish-embedded-all版本为6.2.1,和你部署用的Glassfish 5版本不匹配,虽然该依赖仅作用于test范围,但如果需要做本地集成测试,建议将版本调整为和服务器一致的5.x版本,避免测试阶段出现兼容异常。

内容的提问来源于stack exchange,提问作者Stefano Maglione

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 06:39:00