jax-ws: comment obtenir un identifiant pour le début / la fin du traitement d'un message SOAP entrant

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

  •  05-07-2019
  •  | 
  •  

Question

Situation: service Web jax-ws sur le serveur d'applications Weblogic; wsdl premier développement, personnalisations jaxb dans un fichier de liaison externe.

Je voudrais obtenir un descripteur du contexte jaxb lui-même qui traitera le message soap xml entrant, avant que celui-ci n'ait pas été transformé en objets java.

Ensuite, je voudrais obtenir le dénominateur absolu de ce contexte jaxb - celui qui sera réellement utilisé lors du décompression simultanée. Et ensuite, configurez certaines propriétés de cet unmarshaller (par exemple, auditeur et idresolver).

Était-ce utile?

La solution

La nouvelle @UsesJAXBContex annotation JAXBContextFactoryin jaxws 2.1.5 - jaxb 2.2 est probablement ce dont j'ai besoin pour cela. Cependant, weblogic 10.3.1 utilise jaxws 2.1.1, jaxb 2.1.3.

Une autre solution consiste à utiliser:

@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>

Ceci donne accès au message soap xml. Je dois encore trouver où trouver le nom de la méthode.

Au lieu 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top