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

WSO2 API Manager的PizzaShack站点登录后返回HTTP 500错误

WSO2 API Manager Pizza Shack登录后500错误解决方案

问题根因

本次出现的HTTP Status 500 – Internal Server Error错误由index.jsp第145行代码调用manager.getAvailablePizzaList(token)失败触发,核心原因可归为三类:

  • 身份令牌token无效或传递异常:登录后生成的用户认证令牌未正确注入菜单接口请求,WSO2 APIM网关鉴权失败,返回的异常响应未被代码捕获,最终抛出服务端错误
  • 后端API配置不匹配:Pizza Shack后端API未在WSO2 APIM中正确发布,或API的访问上下文、网关地址与前端配置的serverURL不一致,接口调用出现404/401错误后直接触发服务端异常
  • 依赖版本不兼容:Pizza Shack web应用依赖的WSO2客户端包、servlet包与你当前部署的WSO2 APIM版本不匹配,导致MenuItemManager类方法调用异常

修复操作步骤

按以下顺序排查即可定位并解决问题:

  1. 验证令牌有效性
    登录成功后先提取session中存储的token值,手动向菜单接口发起请求,请求头携带Authorization: Bearer 你的token值,如果返回401错误,说明令牌无API访问权限,重新配置WSO2 APIM的用户角色权限,确保登录用户所属角色有Pizza Shack API的访问授权
  2. 核对API发布配置
    登录WSO2 APIM Publisher控制台,确认Pizza Shack API已发布到对应网关,访问上下文为/pizzashack,且你登录所用的应用已正确订阅该API,密钥类型与调用时使用的一致
  3. 补全异常捕获定位具体原因
    你当前提供的日志仅标注了报错行,无完整异常堆栈,在index.jsp第145行外围添加try-catch块,打印完整异常信息和入参即可定位具体问题:
try {
    MenuItemManager manager = new MenuItemManager();
    List<Pizza> menuItems = manager.getAvailablePizzaList(token);
} catch (Exception e) {
    e.printStackTrace();
    // 打印入参排查参数异常问题
    System.out.println("请求令牌: " + token);
    System.out.println("配置的服务端地址: " + PizzaShackWebConfiguration.getInstance().getServerURL());
}

内容的提问来源于stack exchange,提问作者Lucca Monteiro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:36:05