问题:我正在尝试使用基本身份验证为Web服务调用wsimport工具。 不幸的是,我的密码中包含@ char。
我尝试了以下方法: 我创建了一个Authfile.txt,其中包含以下内容。 http://username:pass@word@hostname:port/ws/mywebservice?wsdl
注意:用户名和密码是访问Web服务的基本身份验证凭据。
然后使用以下选项运行了wsimport工具
wsimport -p com.example.ws -Xauthfile Authfile.txt -Xnocompile -keep -XadditionalHeaders -extension -B-XautoNameResolution http://hostname:port/ws/mywebservice?wsdl
wsimport工具将引发以下错误消息..... [错误]“ http://username:pass@word@hostname:port/ws/mywebservice?wsdl”不是有效的授权信息格式。格式为http [s]:// user:password @ host:port //
答案 0 :(得分:0)
答案: 通过将@替换为%40来更改Authfile.txt文件的内容,如下所示:
http://username:pass%40word@hostname:port/ws/mywebservice?wsdl
然后我像以前一样运行wsimport
wsimport -p com.example.ws -Xauthfile Authfile.txt -Xnocompile -keep -XadditionalHeaders -extension -B-XautoNameResolution http://hostname:port/ws/mywebservice?wsdl
现在,它生成的Java文件没有错误。
我花了两个多小时来解决此问题。 希望这会有所帮助。