Имаме CXF (2.7.X) клиент (вижте кода по-долу) в приложение Java 1.6.0_45.
CXF клиентът извиква Soap WS през прокси сървър.
Въпреки всички наши усилия, този CXF клиент изпълнява някои заявки директно към WS, заобикаляйки проксито.
Единственото решение за момента е да принудите прокси на JVM опциите.
Но това решение не е приемливо.
Има ли pb в нашия код?
Не намерих никаква следа в интернет или в CXF jira.
// work only if i define proxy on jvm
/*
System.setProperty("http.proxyHost","87.65.43.21");
System.setProperty("http.proxyPort", "808");
System.setProperty("https.proxyHost", "87.65.43.21");
System.setProperty("https.proxyPort", "808");
*/
// initialize ws
URL wsdlLocation = new URL("https://12.34.56.78:8443/mockHelloWorldSoapBinding?WSDL");
QName qName = new QName("http://my.webservice.com", "HelloWorldService");
HelloWorldService helloWorldService = new HelloWorldService(wsdlLocation, qName);
HelloWorld port = helloWorldService.getHelloWorld();
HTTPConduit httpConduit = (HTTPConduit) ClientProxy.getClient(port).getConduit();
// add proxy parameters
HTTPClientPolicy policy = new HTTPClientPolicy();
policy.setProxyServer("87.65.43.21");
policy.setProxyServerPort(808);
policy.setAllowChunking(false);
httpConduit.setClient(policy);
// call ws
String response = port.sayHello("world");