2011-08-11 3 views
3

Je dois faire un fichier de mappage externe JAXB personnalisé. Déjà rouge tutorial à ce sujet et ne peut pas trouver un exemple approprié de personnalisation JAXB. Mon scénario est que j'ai deux fichiers WSDL WSDL principal et WSDL secondaire qui est inclus dans le fichier principal. Et dans le fichier WSDL secondaire est une définition complexType qui a un nom que je veux personnaliser. Le nom BTW de ce complexType est objectFactory. Donc maintenant vous savez ce que j'ai vraiment besoin de cette personnalisation externe.ws jaxb mappage externe personnalisé

J'ai venu si loin que lorsque je lance wsimport path-to-my-main-wsdl -b customBindings.jaxb sortie est comme

[ERROR] XPath evaluation of "//xs:complexType[@name='objectFactory']" results in empty target node 
line 2 of file:/customBindings.jaxb 

fichier customBindings.jaxb ressemble

<jxb:bindings version="1.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <jxb:bindings schemaLocation="path-to-my-secondary-wsdl#types?schema1" node="//xs:complexType[@name='objectFactory']"> 
     <jxb:class name="MyObjectFactory" /> 
    </jxb:bindings> 
</jxb:bindings> 

Au deuxième ligne de mon fichier customBindings.jaxb sont deux propriétés schemaLocation et node. La propriété schemaLocation doit-elle pointer vers WSDL principal ou WSDl secondaire? Et la propriété node est-elle le chemin exact (XPath) à complexType voulu ou est-ce que c'est ok? Et ce qui est avec les espaces de noms dans XPath (propriété node), il doit être xs ou quoi? Et que représente réellement ce types et schema1 dans schemaLocation?

thx

Répondre

0

je suis tombé sur votre question tout en recherchant le même problème.

Quelques conseils vagues se trouvent sur cette page: http://jaxb.java.net/guide/Dealing_with_errors.html

Causes pour le message « noeud cible vide » sont proposées en bas de cette page.