Ahora estoy usando Apache CXF como cliente de servicios web para un servicio .NET para evitar la autenticación NTLM. Funciona muy bien, pero me pregunto por qué parece que no puedo establecer el punto final objetivo del servicio web. CXF parece querer el WSDL en tiempo de ejecución por alguna extraña razón, no estoy seguro. Toma el punto final físico del WSDL, que funciona bien en los entornos de prueba, supongo, pero en el momento del despliegue seguro que cambiará.Cliente Apache CXF para puntos finales dinámicos
Aquí hay algo de código para demostrar:
MyWebServices service = new MyWebServices();
MyWebServicesSoap port = service.getMyWebServicesSoap12();
// Turn off chunking so that NTLM can occur
Client client = ClientProxy.getClient(port);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(36000);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
port.doSomethingUseful();
Una vez más, no hay lugar que puedo ver en la API del cliente CXF que me permite establecer el punto final del servicio. No es que yo pueda ver de todos modos. En este caso, el objetivo es http://localhost/integration/webservices/mywebservices.asmx, pero podría estar en cualquier parte. Sin duda, este problema peatonal se resuelve de alguna manera?
no está seguro de lo se refiere a su última declaración aquí – andyczerwonka
En la clase MyServices, ¿hay otros métodos que devolverán un puerto que acepte un parámetro de URL? ¿Puedes editar tu publicación para pegar la firma de esa clase? – Kevin
funciona como un amuleto - gracias – andyczerwonka