gpt4 book ai didi

java - 使用 WebServiceTemplate 设置自定义 header

转载 作者:行者123 更新时间:2023-11-30 02:05:46 25 4
gpt4 key购买 nike

我在 Spring Boot 中使用 WebServiceTemplate 并使用 marshalSendAndReceive 调用目标服务。

如何在请求中设置自定义 HTTP header ?

最佳答案

您需要使用 WebServiceMessageCallback 在创建消息后修改消息。

 webServiceTemplate.marshalSendAndReceive(o, new WebServiceMessageCallback() {

public void doWithMessage(WebServiceMessage message) {
try {
SoapMessage soapMessage = (SoapMessage)message;
SoapHeader header = soapMessage.getSoapHeader();
StringSource headerSource = new StringSource("<credentials xmlns=\"http://google.com/profile\">\n +
<token>"+customToken"+</token>\n +
</credentials>");
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(headerSource, header.getResult());
} catch (Exception e) {
// something went wrong
}
}
});

因此,本质上,我们将 Web 服务消息转换为 SoapMessage 来修改 header 。

关于java - 使用 WebServiceTemplate 设置自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51442044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com