J'utilise l'outil wsdlc (weblogic 10.3.1) pour générer des classes à partir de wsdl. Je les liaisons de JAXB externe suivant fichier de personnalisation:Erreur lors de l'utilisation de la personnalisation des liaisons externes jaxb
<jaxb:bindings
xmlns="http://java.sun.com/xml/ns/jaxb"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
schemaLocation="web/WEB-INF/....xsd"
version="2.1">
<jaxb:bindings node="/xs:schema">
<jaxb:globalBindings>
<xjc:superClass name="my.MySuperClass" />
</jaxb:globalBindings>
</jaxb:bindings>
</jaxb:bindings>
Le message d'erreur sur complilation est: ne peut pas trouver my.MySuperClass symbole. Et de javac: "le paquet mon n'existe pas". Le classpath = tout ce que j'inclus via <pathelement location=
etc. et 60 lignes de plugins eclipse. Le problème réside dans la commande javac lancée par wsdlc. Le chemin de classe de cette commande est correct (chemins codés en dur, par exemple) mais toujours "package ... n'existe pas".
L'utilisation de wsdlc de fourmi est comme ceci:
<path id="class.path">
<pathelement path="${java.class.path}" />
<pathelement location="... hard coded path on disk to a jar" />
</path>
<target name="generate-ws-from-wsdl">
<wsdlc failOnError="true"
srcWsdl="${basedir}/web/WEB-INF/ps.wsdl"
destImplDir="${basedir}/src"
destJwsDir="${basedir}/web/WEB-INF/lib"
srcPortName="PsPort"
type="JAXWS">
<binding file="jaxb-bindings.xml" />
<classpath refid="class.path" />
</wsdlc>
</target>
Pouvez-vous echo $ {java.class.path} –
Est-ce qu'il contient 'my.SuperClass'? –
C'est le cas, j'ai essayé de mettre my.MySuperClass dans un pot et d'ajouter mais pas de différence. –
Gerard