【问题标题】:Build a REST endpoint and SOAP with one implementation in Java EE使用 Java EE 中的一种实现构建 REST 端点和 SOAP
【发布时间】:2017-05-23 17:02:53
【问题描述】:

所以我正在尝试使用 JAX-RS 和 JAX-WS 来注释一个方法,我查看了 this 和 FWIW 它真的不是一个好主意但是我得到了尝试实现时卡住了

@GET
@Path("loginWithEmail")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@WebResult(name = "response")
@WebMethod(operationName = "loginWithEmail")
public BaseResponse loginWithEmail(
        @WebParam(name = "sessionId", header = true) String sessionId,
        @WebParam(name = "email") String email,
        @WebParam(name = "password") String password) {
System.out.println("Session Id is " + sessionId);
}

传递 sessionId 标头对于 SOAP 非常有效,但不适用于 REST - 任何想法为什么以及如何解决?

PS - 这纯粹是实验性的,不会在生产中使用 - 只是想知道如何设置标题 - 谢谢 :)

【问题讨论】:

  • SessionId 应该是 HTTP 标头参数,而不是作为 SOAP 参数注释而不是 rest 参数的 webparam。也为 REST 注入 http 标头参数...我最近发表了一篇关于如何在 REST 中访问 http 标头 stackoverflow.com/questions/43756435/…

标签: java rest soap jax-rs jax-ws


【解决方案1】:

你还没有为你需要的 RESTful 服务定义任何参数 @queryparan 或 @pathparam 或 @bean .. 它可能工作

【讨论】:

  • 我不这么认为 @GET @Path("loginWithEmail") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) 是 JAX-RS
  • 参数的jax-rs注解在哪里
  • 我没有传递任何路径或查询任何东西,所以我不需要/拥有它们
猜你喜欢
  • 2011-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 2010-09-16
相关资源
最近更新 更多