J'essaie de générer les classes Java à partir d'un fichier WSLD, qui utilise l'authentification de base.Générer des classes Java à partir d'une URL wsdl avec l'authentification de base
Bien qu'il existe de nombreux plug-ins là-bas, je dois utiliser le suivant: org.jvnet.jaxb2.maven2:maven-jaxb2-plugin
Avec wsimport
ou wsdl2java
j'ai trouvé le moyen de configurer les paramètres d'authentification de base. En utilisant le maven-jaxb2-plugin
je n'avais pas de chance.
Ma configuration suivante:
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.13.2</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<packageName>com.mycompany</packageName>
<sourceType>wsdl</sourceType>
<specVersion>2.2</specVersion>
<schemas>
<schema>
<url>https://some-url?wsdl</url>
</schema>
</schemas>
<outputDirectory>target/generated-sources/xjb</outputDirectory>
<clearOutputDir>false</clearOutputDir>
<useActiveProxyAsHttpproxy>true</useActiveProxyAsHttpproxy>
</configuration>
</execution>
</executions>
</plugin>
Comme prévu, la construction échoue avec le message suivant:
Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: https://some-url?wsdl
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1840)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:2275)
... 36 more
Toutes les idées sur la configuration de l'authentification de base? Merci d'avance!
Remarque: https://username:[email protected]?wsdl, j'obtiens toujours une exception d'ES en raison de la demande non autorisée.
Salut Sunil, merci pour votre réponse! Je ne suis pas sûr si j'ai été compris, cependant. J'essaie de générer le code à partir d'un fichier wsdl. L'accès aux fichiers nécessaires nécessite une authentification de base. Cela devrait être défini en quelque sorte pendant l'exécution du plugin maven. –