具有基本身份验证的wsimport不允许在用户名或密码中使用@

问题描述 投票:0回答:1

问题:我正在尝试使用基本身份验证为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 //

web-services wsimport
1个回答
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文件没有错误。

我花了不少时间试图解决这个问题。希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.