问题:我正在尝试使用基本身份验证为Web服务调用wsimport工具。不幸的是我的密码中包含@ char。
我尝试了以下内容:我创建了一个包含以下内容的Authfile.txt。 http://username:pass@word@hostname:port/ws/mywebservice?wsdl
注意:username和pass @ word是访问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 //
答案:通过将@替换为%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文件没有错误。
我花了不少时间试图解决这个问题。希望这可以帮助。