Dans ma demande, j'utilise de nombreux services Web. Lorsque le WSDL ne change pas, j'ai intégré les fichiers WSDL de mon projet. Si j'utilise l'outil WSDL2JAVA à partir de CXF, le chemin Absolute Emplacement WSDL est codé en papier.
Maintenant ma question est de changer le paramètre "WSDLocation" dans l'annotation @webserviceclient sur un chemin relatif? p>
Voici un exemple: p>
3 Réponses :
L'outil WSDL2JAVA a un drapeau -WSDLLocation qui peut être utilisé pour spécifier la chaîne exacte qui est placée là-bas. p>
Je pense que je n'étais pas assez clair. Je veux mettre le WSDLLocation sur un chemin relatif.
Voici ce que l'on peut faire pour générer un emplacement de WSDL vide
<wsdlOptions> <wsdlOption> <wsdl>${basedir}/src/main/wsdl/service.wsdl</wsdl> <extraargs> <extraarg>-wsdlLocation</extraarg> <wsdlurl /> </extraargs> </wsdlOption> </wsdlOptions>
Veillez à ce qu'avec cette méthode, les stratégies présentes dans la WSDL ne sont pas utilisées.
J'ai finalement compris comment faire cela correctement aujourd'hui. Il suffit de mettre les fichiers est votre dossier de ressources, puis vous pouvez utiliser WSDLLLocation pour le faire référence relativement comme ceci:
<wsdlLocation>classpath:wsdl/myservice.wsdl</wsdlLocation>
Combinez
Malheureusement, cela échoue à la version 3.4.4 du plug-in en raison de "URL WSDL invalide: CLASSPATH". Si je supprimais le path de classe: il préfixe le chemin complet qui n'est pas correct pour le déploiement