Apache CXF客户端代理设置

时间:2015-07-21 21:36:37

标签: java apache web-services soap cxf

我正在尝试使用教程来开发肥皂服务消费者 http://cxf.apache.org/docs/developing-a-consumer.html

在本节中,"使用上下文设置连接属性"我正在查看下面的代码

// Set request context property.
java.util.Map<String, Object> requestContext =
  ((javax.xml.ws.BindingProvider)port).getRequestContext();
requestContext.put(ContextPropertyName, PropertyValue);

// Invoke an operation.
port.SomeOperation();

有人可以告诉我是否可以使用requestContext属性设置代理服务器设置以及如何设置代理服务器设置?我的代码在代理后面运行,我需要支出SOAP调用以使用代理服务器设置。

1 个答案:

答案 0 :(得分:11)

代理设置通常使用httpconduit对象

设置
HelloService hello = new HelloService();
HelloPortType helloPort = cliente.getHelloPort();
org.apache.cxf.endpoint.Client client = ClientProxy.getClient(helloPort);
HTTPConduit http = (HTTPConduit) client.getConduit();
http.getClient().setProxyServer("proxy");
http.getClient().setProxyServerPort(8080);
http.getProxyAuthorization().setUserName("user proxy");
http.getProxyAuthorization().setPassword("password proxy");