jax-ws: cómo obtener un identificador para iniciar / finalizar el procesamiento del mensaje de correo electrónico entrante

StackOverflow https://stackoverflow.com/questions/1808032

  •  05-07-2019
  •  | 
  •  

Pregunta

Situación: servicio web jax-ws en el servidor de aplicaciones Weblogic; wsdl primer desarrollo, personalizaciones jaxb en un archivo de enlace externo.

Me gustaría obtener un identificador del contexto real de jaxb que procesará el mensaje soap xml entrante, antes que no se ha agrupado en objetos java.

Luego, me gustaría obtener el que no es tan radical en este contexto jaxb, el que en realidad se usará durante el proceso no formal. Y luego configura algunas propiedades de este implacable (por ejemplo, listener y idresolver).

¿Fue útil?

Solución

El nuevo @UsesJAXBContex anotación JAXBContextFactoryin jaxws 2.1.5 - jaxb 2.2 es probablemente lo que necesito para eso. Sin embargo, weblogic 10.3.1 usa jaxws 2.1.1, jaxb 2.1.3.

Otra solución es utilizar:

@WebServiceProvider(portName = "Port", serviceName = "Service", targetNamespace = "tns",                                                                                                        wsdlLocation = "/wsdls/x.wsdl")
@BindingType(value = "http://schemas.xmlsoap.org/wsdl/soap/http")
@ServiceMode(value = javax.xml.ws.Service.Mode.MESSAGE)
public class ServiceProvider implements Provider<SOAPMessage>

Esto le da acceso al mensaje soap xml. Todavía tengo que averiguar dónde se puede encontrar el nombre del método.

En lugar de:

@WebService(portName = "Port", serviceName = "Service", targetNamespace = "tns",
wsdlLocation = "/wsdls/x.wsdl", endpointInterface = "tns.PortType")
@BindingType("http://schemas.xmlsoap.org/wsdl/soap/http")
public class ServicePort implements PortType
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top