Estoy trabajando en un cliente de servicio web usando Spring-WS. No es mi primer proyecto de servicio web usando Spring-WS. Pero soy nuevo en este proyecto en particular.
Generamos objetos dao usando el complemento maven-jaxb2.
Estoy usando Spring-WS WebServiceTemplate, con un conjunto estándar de marshaller y unmarshaller.
En un proyecto anterior, solo podía hacer mis llamadas al servicio web usando:
webserviceTemplate.marshallSendAndReceive(new ObjectFactory().createSomeRequest());En mi proyecto actual, necesito proporcionar un SoapActionCallback, proporcionado con SoapActionUrl.
webserviceTemplate.marshallSendAndReceive(new ObjectFactory().createSomeRequest, new SoapActionCallback("http://some-action-url.com/action"));Si no proporciono este SoapActionUrl, no obtengo ningún resultado y, al depurar, veo una excepción surprimida:
Couldn't get a SAX parser while constructing a envelopeMe gustaría eliminar esos SoapActionUrls. Usando los objetos generados correctos por maven-jaxb2-plugin, ¿debería referirse automáticamente a la actionurl correcta?
Busqué en Google esto, pero no encontré demasiada información al respecto. Me gustaría saber por qué podría simplemente 'dejar SoapActionCallback' en el primer caso, y en el segundo caso, estoy obligado a proporcionar esto. No estoy al tanto de la tecnología específica utilizada en el lado del servidor, ya que los servicios web los desarrolla un socio externo.
¿Alguien puede explicar esto?