Dans un service Web jax-ws, je ne peux pas accéder directement à l'objet JaxbContext. JaxbContext utilise la classe ObjectFactory. J'ai essayé de l'étendre (comme dans Jaxb Adding Behaviors). Je mets le code généré dans ObjectFactoryBase
, puis ajoutéproblème sous-classe ObjectFactory dans le service Web jax-ws
public class ObjectFactory extends ObjectFactoryBase {//.. overriden methods}
Cependant IllegalAnnotationsException
est venu quand la publication à weblogic, parce qu'il ne peut pas trouver un certain @XmlElementDecl
présent dans ObjectFactoryBase
. Lorsque je déplace la méthode avec ce @XmlElementDecl
à ObjectFactory
cela fonctionne.
Pas de chance d'ajouter @XmlSeeAlso({ ObjectFactoryBase.class })
non plus.
Modifier: J'ai maintenant découvert que l'ObjectFactory généré est même pas utilisé par le service Web jaxws. Donc, le message d'erreur ci-dessus ne sont plus aussi pertinents. Une idée de pourquoi elle est générée mais pas utilisée?
Des idées?
Bonne réponse, merci. Au fait, avez-vous regardé la nouvelle annotation (?) @UsesJAXBContext avec jaxws @WebService? Il semble prometteur en ce qu'il donne un contrôle total, probablement aussi sur ObjectFactory. – Gerard
Je ne comprends pas ce que vous essayez de faire ici car j'apprends encore 'jax-ws', je suis juste confus où est la classe' ObjectFactory'?! Quel pot le contient? Je vous remercie. –