如何在 JAX-WS Web 服务而不是处理程序中访问 soap 请求的原始消息



根据 JAX-WS SOAP 网络服务的文档,我们可以从处理程序访问 soap 消息,但我需要来自 SOAPUI 的请求 XML 或客户端请求的数据,这些数据需要根据要求持久化在数据库中。您能否建议任何人如何在Web服务中访问原始XML

我发现的解决方案: 根据我的搜索和知识,我们可以使用@WebserviceProvider相关的东西类,但也需要添加额外的WSDL代码和其他东西。 但是我想使用现有代码并将XML从处理程序传递到Web服务。

您可以使用

Interceptor(文档)。

拦截器和相位

拦截器是 CXF 内部的基本处理单元。当一个 调用服务,创建并调用拦截器链。每 拦截器有机会对消息做他们想做的事情。这 可以包括读取它,转换它,处理标头, 验证消息等。

在您的情况下,我认为您可以在 Web 服务的"传入阶段"使用 SOAP 拦截器。因此,当 Web 服务收到请求时,可以将请求保存到数据库中。

希望这能有所帮助。

最新更新