Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Apache CXF客户端代理设置_Java_Apache_Web Services_Soap_Cxf - Fatal编程技术网

Java Apache CXF客户端代理设置

Java Apache CXF客户端代理设置,java,apache,web-services,soap,cxf,Java,Apache,Web Services,Soap,Cxf,我正在尝试使用上的教程为Soap服务开发一个消费者 在“使用上下文设置连接属性”一节中,我将查看下面的代码 // Set request context property. java.util.Map<String, Object> requestContext = ((javax.xml.ws.BindingProvider)port).getRequestContext(); requestContext.put(ContextPropertyName, PropertyV

我正在尝试使用上的教程为Soap服务开发一个消费者

在“使用上下文设置连接属性”一节中,我将查看下面的代码

// 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();
//设置请求上下文属性。
java.util.Map请求上下文=
((javax.xml.ws.BindingProvider)端口);
put(ContextPropertyName,PropertyValue);
//调用一个操作。
port.SomeOperation();

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

代理设置通常使用httpconductor对象进行设置

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");

这样做了,当运行一个简单的单元测试ping服务时,我没有得到任何错误,但是测试被卡住了,并一直在控制台上打印这些错误:1740管道“{}TransportURIResolver.http管道”的无信任决策器。假定有一个错误的信任决策。http导管:914导管“{}TransportURIResolver.http导管”已(重新)为普通http配置。http导管:为导管{}TransportURIResolver配置的378 NoTrust决策器。http导管{TransportURIResolver.http导管:为导管{}配置的391 NoAuth供应商TransportURIResolver.http导管'已配置为普通http。我认为出现问题的原因是SOAP调用最终调用的是https上的服务,而不是httpTo,以便于其他读者了解:
HttpConductor.getProxyAuthorization()
的凭据不同于
HttpConductor.getAuthorization()
。第一个用于允许连接到远程服务器的(internet)代理,第二个用于远程(SOAP?)服务。