Я пытаюсь позвонить через SOAP через HTTPS-прокси с Apache CXF.
Это Java-приложение, работающее на Cloud Foundry.Прокси-сервер предоставляется в качестве службы Cloud Foundry.Остальные вызовы работают через настройку в RestTemplateCustomizer.
Я попробовал следующее (я пробовал каждое одобренное утверждение без успеха):
PortType port = cs.getServicePort();
assert port instanceof BindingProvider;
BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, serviceURL);
//bp.getRequestContext().put("https.proxyHost", endpoint.getHost());
//bp.getRequestContext().put("https.proxyPort", endpoint.getPort());
final Client client = ClientProxy.getClient(port);
final HTTPConduit http = (HTTPConduit) client.getConduit();
http.getClient().setProxyServer(endpoint.getHost());
http.getClient().setProxyServerPort(endpoint.getPort());
http.getProxyAuthorization().setUserName(configProperties.getUser());
http.getProxyAuthorization().setPassword(configProperties.getPassword());
//http.getProxyAuthorization().setAuthorizationType("Basic");
//http.getClient().setProxyServerType(ProxyServerType.SOCKS);
http.getAuthorization().setUserName(configProperties.getUser());
http.getAuthorization().setPassword(configProperties.getPassword());
//http.getAuthorization().setAuthorizationType("Basic");
Stacktrace выглядит так:
2019-05-16T11: 11: 53,76 + 0200[APP / PROC / WEB / 0] OUT javax.xml.ws.WebServiceException: Не удалось отправить сообщение.2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.jaxws.JaxWsClientProxy.mapException (JaxWsClientProxy.java:183) 2019-05-16T11: 11: 53.76+0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.jaxws.JaxWsClientProxy.invoke (JaxWsClientProxy.java:145) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0]OUT at com.sun.proxy. $ Proxy288.getConfigurations (Неизвестный источник)
#
2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT Причина: java.io.IOException: IOException вызывает https://service.com/services/Service/v1: Невозможно туннелировать через прокси.Прокси-сервер возвращает «HTTP / 1.1 407 Proxy Authentication Required» 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) 2019-05-16T11:11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0]OUT at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT в java.lang.reflect.Constructor.newInstance.java: 423) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.transport.http.HTTPConduit $ WrappedOutputStream.mapException (HTTPConduit.java:1402) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.transport.http.HTTPConduit $ WrappedOutputStream.close (HTTPConduit.java:1386) 2019-05-16T11: 11:53,76 + 0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.transport.AbstractConduit.close (AbstractConduit.java:56) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.transport.http.HTTPConduit.close (HTTPConduit.java:673) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.interceptor.MessageSenderInterceptor $ MessageSenderEndingInterceptor.handleMessage (MessageSenderInterceptor.java:63) 2019-05-16T11: 11: 53.76+0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept (PhaseInterceptorChain.java:308) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0]OUT в org.apache.cxf.endpoint.ClientImpl.doInvoke (ClientImpl.java:531) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT в org.apache.cxf.endpoint.ClientImpl.invoke (ClientImpl.java:440) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.endpoint.ClientImpl.invoke (ClientImpl.java:355)2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.endpoint.ClientImpl.invoke (ClientImpl.java:313) 2019-05-16T11: 11: 53.76+0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.frontend.ClientProxy.invokeSync (ClientProxy.java:96) 2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT at org.apache.cxf.jaxws.JaxWsClientProxy.invoke (JaxWsClientProxy.java:140)2019-05-16T11: 11: 53.76 + 0200 [APP / PROC / WEB / 0] OUT ... 131 общих кадров опущено