Genere un cliente de servicio web usando las utilidades de JBoss (compatible con JAX-WS) usando el 'cliente de servicio web de Eclipse desde un wsdl'.
Entonces, lo único que proporcioné fue una URL a un WSDL de servicio web.
Ahora, el proveedor de servicios web me dice que cambie la "URL del acceso a la aplicación de punto final del cliente" del servicio web.
¿Qué es y cómo cambiarlo?
java
web-services
jboss
jax-ws
EugeneP
fuente
fuente
Respuestas:
En mi opinión, el proveedor le está diciendo que cambie el punto final del servicio (es decir, dónde llegar al servicio web), no el punto final del cliente (no entiendo qué podría ser). Para cambiar el punto final del servicio, básicamente tiene dos opciones.
Utilice el proveedor de enlace para establecer la URL del extremo
La primera opción es cambiar el
BindingProvider.ENDPOINT_ADDRESS_PROPERTY
valor de la propiedad deBindingProvider
(cada proxy implementa lajavax.xml.ws.BindingProvider
interfaz):El inconveniente es que esto solo funciona cuando todavía se puede acceder al WSDL original. No recomendado.
Use el WSDL para obtener la URL del punto final
La segunda opción es obtener la URL del punto final del WSDL.
fuente
wsimport
herramientas modernas ya no generan código con unget[Service]Port
método. En su lugar, llameget[Service]
y convierta el objeto resultante en aBindingProvider
para establecer este tipo de propiedades.Para agregar una aclaración aquí, cuando crea su servicio, la clase de servicio usa la 'wsdlLocation' predeterminada, que se insertó en ella cuando la clase se compiló a partir de wsdl. Entonces, si tiene una clase de servicio llamada SomeService y crea una instancia como esta:
Si miras dentro de SomeService, verás que el constructor se ve así:
Entonces, si desea que apunte a otra URL, simplemente use el constructor que toma un argumento de URL (hay 6 constructores para configurar qname y características también). Por ejemplo, si ha configurado un monitor TCP / IP local que está escuchando en el puerto 9999 y desea redirigir a esa URL:
y que llamará a este constructor dentro del servicio:
fuente
No iría tan lejos como @Femi para cambiar la propiedad de dirección existente. Puede agregar nuevos servicios a la sección de definiciones fácilmente.
Esto no requiere una recompilación del WSDL en Java y realizar actualizaciones no es más difícil que si usara la opción BindingProvider (que no funcionó para mí por cierto).
fuente
Para cambiar la propiedad de la dirección final, edite su archivo wsdl
fuente