当前位置: 首页 > 面试题库 >

使用Spring-WS客户端动态设置自定义HTTP标头

李胤
2023-03-14
问题内容

使用Spring-WS时,如何在客户端动态设置自定义HTTP标头(不是SOAP标头)?


问题答案:
public class AddHttpHeaderInterceptor implements ClientInterceptor {

public boolean handleFault(MessageContext messageContext)
        throws WebServiceClientException {
    return true;
}

public boolean handleRequest(MessageContext messageContext)
        throws WebServiceClientException {
     TransportContext context = TransportContextHolder.getTransportContext();
     HttpComponentsConnection connection =(HttpComponentsConnection) context.getConnection();
     connection.addRequestHeader("name", "suman");

    return true;
}

public boolean handleResponse(MessageContext messageContext)
        throws WebServiceClientException {
    return true;
}

}

配置:

    <bean id="webServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
    ...
    <property name="interceptors">
        <list>
            <bean class="com.blah.AddHttpHeaderInterceptor" />
        </list>
    </property>
</bean>


 类似资料:
  • 我使用Spring Boot WS-Server发布了endpoint 当我使用SoapUI时,我看到: HTTP/1.1200接受:text/xml、text/html、image/gif、image/jpeg、*;q=.2,/;q=.2 SOAPAction:“内容类型:text/xml;字符集= UTF-8内容长度:828日期:星期四,2021年4月29日14:04:54 GMT保持生存:超

  • 问题内容: 如何使HTTPClient使用自定义User-Agent标头? 以下代码提交空的用户代理。我想念什么? 问题答案: 线 不见了。添加并享受。

  • 我正在尝试调用一个web服务,并使用MTOM向我的请求添加一个附件。在我调用的web服务上启用了Mtom,并且我可以使用SOAPUI正常调用该服务。 请求的模式如下所示; 然后在我的java代码中创建jaxb请求对象并尝试从字符串中设置内容; 我已经将我的封送器设置为启用了mtom(尽管我不确定这在客户端上是必要的); 但我得到以下例外情况; 有没有人知道我做错了什么,或者有没有人能给我演示一个如

  • HTTPClient 结构体指针上还定义了如下特殊字段: Transport 字段 该字段是一个匿名字段,类型为 http.Transport,你可以通过对它上面的字段进行设置来改变 HTTP 客户端的一些特殊设置。 MaxIdleConnsPerHost 字段 该字段其实是 Transport 结构体上的一个字段,它表示最多允许的空闲持久连接数。这里单独拿出来说是因为它的默认值也是 10,目的是

  • 我试图为Spring Cloud OpenFeign提供CloseableHttpClient。Spring Cloud Open Faign Documentation表示它支持CloeableHttpClient。Spring文档没有给出任何实际替换HTTP客户端的例子。 基本上,我将SSLContext提供给HTTP客户端,我想假装使用这个SSLContext加载的客户端。如何将这个Clos

  • 我需要使用 restlet 客户端放置以下 rest 请求: 我可以在一个单独的调用中获取XToken,但是在当前的调用中,我无法在我的ClientResource对象中设置“Authorization”头。 有人可以建议我需要为我拥有的以下代码行添加哪些代码: 在restlet中创建和添加“Authorization”标头会导致restlet客户端库中出现错误。 提前谢谢 阿希什·夏尔马