servicio mkyong jax from example ejemplo con web-services soap spring-boot wsdl spring-ws

web-services - mkyong - web service client spring boot



Servicio web SOAP de SpringBoot La generación WSDL dinámica no funciona Si elimina el sufijo de solicitud del elemento RequestPayload (1)

De acuerdo con la documentación oficial de Spring-WS :

El <dynamic-wsdl> crea un WSDL a partir de un esquema XSD utilizando convenciones. Se itera sobre todos los elementos del elemento encontrados en el esquema, y ​​crea un mensaje para todos los elementos. A continuación, crea la operación WSDL para todos los mensajes que finalizan con el sufijo de solicitud o respuesta definido. El sufijo de solicitud predeterminado es Solicitud; el sufijo de respuesta predeterminado es Respuesta, aunque estos se pueden cambiar estableciendo los atributos requestSuffix y responseSuffix en <dynamic-wsdl />, respectivamente.

En otras palabras, puede usar setRequestSuffix y setResponseSuffix en DefaultWsdl11Definition para especificar un sufijo de solicitud y respuesta diferente del predeterminado. En el caso anterior que podría ser, por ejemplo:

wsdl11Definition.setRequestSuffix("RQ"); wsdl11Definition.setResponseSuffix("RS");

Estoy creando un servicio web SOAP utilizando el proyecto Spring Boot SOAP Webservice Sample. Si utilizo el siguiente código, WSDL generado dinámicamente muestra Operaciones.

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "AvailNotifRequest") @ResponsePayload public OTAHotelAvailNotifRS getAvailNotif(@RequestPayload AvailNotifRequest request) {

Pero necesito un elemento de solicitud para cambiar así.

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "OTAHotelAvailNotifRQ") @ResponsePayload public OTAHotelAvailNotifRS getOTAHotelAvailNotifRQ(@RequestPayload OTAHotelAvailNotifRQ request) {

Encontré una pregunta similar en este enlace. El wsdl dinámico del servicio web de Spring no genera mensaje para una respuesta de elemento de esquema dice que necesitamos agregar el sufijo Elemento de solicitud tras solicitud como AvailNotifRequest, pero quiero usar OTAHotelAvailNotifRQ como mi solicitud. ¿Cómo puedo usar esto porque no estoy recibiendo operaciones en wsdl cuando cambio la entrada de solicitud de esta manera?