我正在尝试更改cxf HttpURLConnection使用的HTTPTransportFactory

Cxf(版本2.7.3)将HTTPTransportFactory用于http / https请求。
HTTPTransportFactory使用类型为URLConnectionHTTPConduit的导管。
URLConnectionHTTPConduit具有方法:createConnection,该方法返回HttpURLConnection
我需要用自己的自定义变量替换HttpURLConnection,将其称为CustomHttpURLConnection

我设法通过以下方式更改cxf使用的TransportFactory


创建扩展HTTPTransportFactory的类:CustomHTTPTransportFactory(现在该类为空):

public class CustomTransportFactory extends HTTPTransportFactory{
}

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>


但是,我需要能够将CustomHttpURLConnection注册到cxf传输HTTPTransportFactory

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

最佳答案

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

关于java - 更改HttpTransportFactory cxf 2.7.3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17573490/

10-12 06:29