使用基本身份validation从wsdl url生成java类

我正在尝试从WSLD文件生成java类,该文件使用基本身份validation。

虽然有很多插件,但我必须使用以下org.jvnet.jaxb2.maven2:maven-jaxb2-pluginorg.jvnet.jaxb2.maven2:maven-jaxb2-plugin

使用wsimportwsdl2java我找到了配置基本身份validation参数的方法。 使用maven-jaxb2-plugin我没有运气。

我的配置如下:

   org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.13.2    generate   com.mycompany wsdl 2.2   https://some-url?wsdl   target/generated-sources/xjb false true     

正如预期的那样,构建失败并显示以下消息:

 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 

有关基本身份validation配置的任何想法? 提前致谢!

注意: https:// username:pass @ some-url?wsdl ,由于未经授权的请求,我仍然会收到IOException。

wsimportwsdl2javamaven-jaxb2用于从Descriptor文件生成代理类。 由于您未获得授权(401),可能是由于错误的信用,或者您可能未在请求中发送凭据等。

对于Basic Auth,请在此处参阅另一个stackoverflow问题

此外,如果您可以在配置Creds的位置发布您的确切代码,则有助于确定原因

我还没有找到解决这个问题的方法。 我最终下载了.wsdl和所需的.xsd文件并正确编辑了它们(更改了导入URL)。

注意 :对于有相同问题的人,我建议使用jaxws:wsimport插件,它支持xauthFile选项以配置基本身份validation。