我正在尝试更改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/