当前位置: 首页 > 知识库问答 >
问题:

在ClientInterceptor中获取SOAP请求的请求URL

贺高杰
2023-03-14

我用的是Spring靴。我已经为SOAP web服务编写了一个ClientInterceptor,我想记录我要向其发送请求的URL,并且我想在HandlerResponse方法中这样做。然而,我找不到一个方法来做到这一点。有可能吗?任何帮助都会很好。

public class SoapClientHttpRequestInterceptor implements ClientInterceptor {

@Override
    public boolean handleResponse(MessageContext messageContext) throws WebServiceClientException {
        // I would like to get the URL and log it here. 

    }

}

创建restTemplate的方式

@Bean
@Qualifier("testRestTemplate")
public RestTemplate testRestTemplate() {

    SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
    requestFactory.setOutputStreaming(false);
    ClientHttpRequestFactory factory = new BufferingClientHttpRequestFactory(requestFactory);
    RestTemplate restTemplate = new RestTemplate(factory);
    restTemplate.setInterceptors(Collections.singletonList(restClientHttpRequestInterceptor));
    restTemplate.setErrorHandler(testErrorHandler);
    restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));
    return restTemplate;
}

共有1个答案

弓宏茂
2023-03-14

您可以在handleACK方法中执行此操作:

TransportContext context = TransportContextHolder.getTransportContext();
context.getConnection().getUri().toString()

我希望这对你有帮助

 类似资料:
  • 我已经用soap请求启动了一个新项目,我遵循了一些关于它的教程,但它并没有像它应该做的那样好。 我将这部分代码用于请求: 它给了我这个错误: SoapFault异常:[HTTP]不支持的媒体类型堆栈跟踪: 所有参数的类型都可以根据我得到的留档。和php部分似乎可以对我和我找到的所有教程。 我想知道这是否是头部问题或类似的问题。 WSDL在[这里](https://smarteye.ariadnex

  • 我需要帮助发送请求到FTP服务器下载文件...我已经写了下面的代码下载一个文件使用HTTP它工作成功,但我不知道如何做一个FTP.....由于我已经使用套接字来建立连接,它必须通过这种方式来完成,请建议我下载一个FTP文件的请求(发送到服务器)的格式是什么...... ///////////////编码////////////////////////////////////////////////

  • 问题内容: 我想知道如何一次获取多个GET URL,然后将获取的JSON数据放入我的React DOM元素中。 这是我的代码: 但是,我想从服务器中获取其他JSON数据,然后使用传递到其中的所有这些JSON数据呈现我的ReactDOM。例如: 这可能吗?如果不是,将多个JSON数据提取到我的渲染ReactDOM元素中的其他解决方案是什么? 问题答案: 您可以在解决方案之前依靠Promises来执行

  • 问题内容: 是否可以使用Python的库发送SOAP请求? 问题答案: 确实有可能。 这是一个使用普通请求lib调用Weather SOAP Service的示例: 一些注意事项: 标头很重要。没有正确的标头,大多数SOAP请求将无法工作。可能是更 正确 使用的标头(但weatherservice更喜欢 这将以xml字符串形式返回响应-然后,您需要解析该xml。 为简单起见,我以纯文本形式包含了该

  • 在 Nginx 的典型应用场景中,几乎都是只读取 HTTP 头即可,例如负载均衡、正反向代理等场景。但是对于 API Server 或者 Web Application ,对 body 可以说就比较敏感了。由于 OpenResty 基于 Nginx ,所以天然的对请求 body 的读取细节与其他成熟 Web 框架有些不同。 最简单的 “Hello ****” 我们先来构造最简单的一个请求,POST

  • 说明 获取叫车请求id,没有id无法叫车 请求地址 /v1/order/Create/orderId 支持格式 {url}?k1=v1&k2=v2&k3=v3&... HTTP请求方式 Get 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token s