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

从CXF服务实现中添加HTTP头

郭永安
2023-03-14

我目前正在实现soap服务并且我需要从另一个soap服务(服务A)调用一个soap服务(服务B)。从服务A中,如何将输出SOAP请求的HTTP头而不是SOAP头设置到服务B。

目前我正在使用JaxWsDynamicClientFactory,

JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient(localhost/services/test?wsdl");

results = client.invoke(new QName(namespace,operation), service parameters); 

共有1个答案

云新知
2023-03-14

您可以使用CXF RequestContext添加头。例如,要添加名为header-name且值为headervalue的标头:

    JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
    Client client = dcf.createClient(localhost/services/test?wsdl");
    @SuppressWarnings("unchecked")
    Map<String, List<String>> headers = (Map<String, List<String>>) client.getRequestContext()
            .get(Message.PROTOCOL_HEADERS);

    if (headers == null) {
        headers = new TreeMap<String, List<String>>(
                String.CASE_INSENSITIVE_ORDER);
        client.getRequestContext().put(Message.PROTOCOL_HEADERS, headers);
    }       
    headers.put("Header-Name", Collections.singletonList("headerValue"));
    results = client.invoke(new QName(namespace,operation), service parameters); 
 类似资料:
  • 我在我的项目中使用微服务架构。对于服务间通信,我使用消息队列NATS。我写了一个网关,处理所有超文本传输协议请求,并将其放入队列。所有终端服务都订阅到这个队列。 在endpoint服务中,我使用基于Netty IO的Xitrum。当我从队列中得到请求时,我将其反序列化为FullHttpRequest。但我不知道如何将它发送到我的netty服务器,它可以根据业务逻辑处理它(例如,不使用可以将它发送到

  • 我在Apache CXF中实现了web服务。有没有办法使用AddressingProperties将SOAP头设置为请求(服务器端)? 这对我有用: 但我想使用org。阿帕奇。cxf。ws。寻址。AddressingProperties-类似这样的内容: 我如何将其传递给请求?我无法通过MessageContext进行设置

  • 问题内容: 我有一个非常古怪的api,一次只能处理一个请求。因此,我需要确保每次发出请求时,该请求都会进入一个队列,并且该队列一次执行一个请求,直到它为空。 通常,我只使用jQuery的内置队列,因为该站点已经在使用jQuery。但是,我不确定是否可以以某种方式装饰$ http服务,或将其包装在一次返回一个承诺的服务或其他服务中。 问题答案: 这是我的解决方案:http : //plnkr.co/

  • 问题内容: 在wsdl上使用wsimport创建了Java Web服务客户端之后,我需要为嵌入在HTTP请求中的每个肥皂消息设置Authorization标头。生成了javax.xml.ws.Service的子类后,如何将HTTP标头附加到每个传出请求中? 问题答案: 您可以将带有自定义标头的映射传递给BindingProvider(我相信您可以设置MessageContext.HTTP_REQU

  • 本文向大家介绍C++实现简单的HTTP服务器,包括了C++实现简单的HTTP服务器的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C++实现HTTP服务器的相关代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助。

  • 我创建了一个单独的服务生成器类,如下所示:https://futurestud.io/tutorials/retorfit-2-manage-request-headers-in-okhttp-interceptor apiserviceGenerator.java