0

我正在尝试更改HttpURLConnectioncxfHTTPTransportFactory使用的。

Cxf(2.7.3 版)HTTPTransportFactory用于 http/https 请求。使用类型的HTTPTransportFactory导管URLConnectionHTTPConduitURLConnectionHTTPConduit有方法:createConnection返回HttpURLConnection. 我需要HttpURLConnection用我自己的自定义替换,我们称之为CustomHttpURLConnection

我设法通过以下方式更改了TransportFactorycxf 使用的内容:

  1. 创建扩展类HTTPTransportFactory:(CustomHTTPTransportFactory现在这个类是空的):

    public class CustomTransportFactory extends HTTPTransportFactory{
    }
    
  2. 注册CustomTransportFactory到正确的传输 ID:在本例中为http://schemas.xmlsoap.org/soap/http

这是我的 XML:

<beans:bean id="tranpo" class="CustomTransportFactory" lazy-init="false">    
    <beans:property name="transportIds">
                  <beans:list>
                 <beans:value>"http://schemas.xmlsoap.org/soap/http"</beans:value>
          </beans:list>
    </beans:property>
</beans:bean>

但是,我需要能够将 my 注册CustomHttpURLConnection到 cxf transport HTTPTransportFactory

有谁知道如何解决这个问题?

4

1 回答 1

1

创建一个 HTTPConduitFactory 并在上下文中注册它。然后 HTTPTransportFactory 将使用它来创建管道,而不是创建基于默认 URLConnection 的管道。这就是创建和使用基于 HTTP Commons Async 的管道的方式。

于 2013-07-10T17:05:33.683 回答