JAX WS 中 RequestContext 和 MessageContext 的区别

Difference between RequestContext and MessageContext in JAX WS

JAX-WS 中的 RequestContext 和 MessageContext 有什么区别?

MessageContext 提供对 JAX-WS 调用中当前入站或出站消息的访问,特别是对于 JAX-WS 处理程序。服务提供商的入站是请求消息,而出站是响应;对于 JAX-WS 客户端处理程序,出站是请求,入站是响应。

我不得不查找 RequestContext - 它在技术上不是 JAX-WS class。它是 JAX-WS 参考实现中的专有(阅读:实现)class。我认为您不会 couple/compile 您的代码反对这个,但我确实希望如果您使用的是 JAX-WS RI,您会在调试器会话期间看到它。

如果您碰巧提到了 BindingProvider.getRequestContext(),那么这是一个 Map<String, Object>,它是一个包含用于为 JAX-WS 客户端初始化出站请求消息的值的映射。例如,以编程方式设置端点 URL:

Map<String, Object> requestContext = ((BindingProvider)port).getRequestContext();
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, myCustomEndpointUrl);