这个帖子很老了,但如果有人路过,我会分享我的经验。
对于 NTLM,您不需要文件auth.txt
TL;TR
如果您使用的tools.jar com.sun.tools.internal.ws.WsImport
Java"-Dhttp.auth.ntlm.domain=MYDOMAIN" "-Djdk.http.ntlm.transparentAuth=allHosts"
大于1.8.0_181
.
长版
在 Java 之前1.8.0_181
,默认情况下启用 NTLM,但不再是这种情况(我使用的当前版本是1.8.0_222
“)。请参阅https://stackoverflow.com/a/54628051/349228
为了能够将 NTLM 与wsimport
工具一起使用,我必须tools.jar
手动使用:
java "-Dhttp.auth.ntlm.domain=MYDOMAIN" "-Djdk.http.ntlm.transparentAuth=allHosts" -cp %JAVA_HOME%\lib\tools.jar com.sun.tools.internal.ws.WsImport -p "my.target.package.name" -d . -keep -encoding UTF-8 "http://navisionhost:7047/DynamicsNAV110/WS/Test 01/Page/MyPage"
NTLM 的关键部分是 2 个 java 选项"-Dhttp.auth.ntlm.domain=MYDOMAIN" "-Djdk.http.ntlm.transparentAuth=allHosts"
。%JAVA_HOME%\lib\tools.jar
除了我们手动从这个 jar 运行 Main Java Class 之外,其余的都接近原生工具调用。