Tenemos un archivo WSDL central que describe un servicio web. Usamos CXF para generar código de cliente, pero este código parece estar vinculado a 1 punto final. ¿Cómo puedo crear un cliente CXF que use WSDL, pero donde puedo especificar el punto final? ¿Hay alguna manera de cambiar el punto final a una URL que implementa el mismo WSD :?¿Cómo crear un cliente de servicio web CXF con punto final dinámico?
Respuesta
Si el servicio other
implementa el mismo WSDL, cuando crea el objeto MyClientService
, puede pasar la URL al WSDL del nuevo servicio directamente al constructor y lo hará. La mayoría de los servicios exponen su wsdl en? Wsdl, por lo que su uso puede "simplemente funcionar".
Alternativamente, puede anular la URL de punto final a través de:
((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_URL, "http://my.service.url.com/...")
donde proxy
es el objeto MyClientService
.
puede utilizar JaxWsProxyFactoryBean para llamar dinámicamente un servicio
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(ChangeStudentDetails.class);
factory.setAddress("http://localhost:8081/CXFTutorial/ChangeStudent");
¿no olvidó llamar 'factory.create()'? – Zarathustra
Trabajando en cxf 2.6.1
Client client = ClientProxy.getClient(port);
client.getRequestContext().put(Message.ENDPOINT_ADDRESS, "http://some-valid-endpoint") ;
javax.xml.ws.WebServiceException: No se pudo encontrar WSDL: información de operación vinculante para el método web XXXX.
en org.apache.cxf.jaxws.JaxWsClientProxy.invoke (JaxWsClientProxy.java:125)
en com.sun.proxy. $ Proxy82.getUser (origen desconocido)
Si este error se produjo a continuación, añadir Servicio web de anotación a su interfaz del lado del cliente que ya está desarrollado en el lado del servicio.
Me he enfrentado a este problema, he configurado Spring con CXF. Ya he desarrollado el servicio y llamándolo desde el cliente.
Espero que esto ayude.
- 1. ServiceConstructionException al crear un cliente de servicio web CXF
- 2. Error del cliente del servicio web CXF
- 3. Servicio web con CXF: cómo usar ResponseWrapper?
- 4. servicio web reparador punto final no encontró
- 5. ¿Cómo crear un cliente de servicio web Axis2 en Eclipse?
- 6. ¿Cómo crear un cliente Java para el servicio web?
- 7. tema autorización del cliente cxf
- 8. Cliente Apache CXF para puntos finales dinámicos
- 9. Punto final único con contratos de servicio múltiple
- 10. ¿Cómo se usa la autenticación HLS de TLS/SSL con un cliente CXF en un servicio web?
- 11. ¿Cómo evito que JAXBElement <String> se genere en un cliente de CXF Web Service?
- 12. Cómo redirigir un servicio WCF a un HTTPS punto final con credencial de Windows
- 13. ¿Cómo proporcionar la dirección del servidor al cliente de servicio web basado en Spring Apache CXF?
- 14. Crear configuraciones de punto final WCF en la aplicación cliente, ¿en el código?
- 15. cliente web para servicio web
- 16. Cliente de servicio web Python
- 17. Cliente Java para el servicio web SOAP con autenticación NTLM
- 18. Crear sobre la marcha del servicio web, servicio web dinámico invocador
- 19. Cómo crear un cliente de jabón sin WSDL
- 20. Punto final del cliente WCF: SecurityNegotiationException sin <dns>
- 21. Servicio web de Microsoft y cliente CXF: JAXB no puede entender "s: schema"
- 22. ¿Alguien usó un cliente WCF con SSRS un servicio web?
- 23. ¿Cómo crear un servicio web tranquilo con parámetros de entrada?
- 24. Ventajas de usar un cliente dinámico con JAX-WS
- 25. Exponer punto final webHttpBinding en un servicio WCF
- 26. Protección del punto final del servicio WCF con autenticación personalizada
- 27. Cómo crear un servicio web por Qt
- 28. Validación XML del lado del servidor con el servicio web CXF
- 29. anulando o estableciendo el punto final del servicio web en tiempo de ejecución para el código generado con wsimport
- 30. Glassfish 3.1: No se puede encontrar en 'Ver punto final' después de implementar un servicio web
La implementación del "otro" servicio efectivamente implementa el mismo wsdl. Revisé el código generado y tengo un objeto de fábrica que me da un objeto. No veo forma de cómo especificar el url sofar ... ¿alguna pista sobre eso? – Marco