wsimport Xauthfile错误

9
我将尝试为一个SSL保护的Web服务(在Microsoft Biztalk上)生成客户端(也就是消费者)所需的Java帮助类,该服务位于我们公司网络之外。我们只能通过代理访问它,并且无法更改有关Web服务本身的任何内容。
这是我提供给wsimport工具的命令:
wsimport -keep -httpproxy:theProxy.net:8080 -s c:\generatedWebService_wsImport\ -p the.java.package.I.want.to.call.it -Xauthfile c:\generatedWebService_wsImport\auth https://meldeservice-test.oekb.at/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

这是我的认证文件的内容

https://user:pwd@meldeservice-test.oekb.at:8080/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

以下是我收到的错误信息:

[ERROR] 服务器返回 HTTP 响应代码: 401,URL 为:https://meldeservice-test.oekb.at/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL。"https://meldeservice-test.oekb.at/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL" 需要授权,请提供具有读取访问权限的授权文件,位于 C:\Documents and Settings\s6424.metro\auth 或使用 -Xauthfile 来提供授权文件,并在每行使用以下格式提供授权信息:http[s]://user:password@host:port//

当然,代理和凭据与此帖子中的不同。密码包含一个特殊字符!(感叹号)。

能否有人在类似条件下提供一个可工作的示例呢?我已经搜索了很多,但没有找到任何有帮助的信息。

是否有 wsimport 工具的可下载源代码?这将是最后的选择。

2个回答

1
在你的请求中,你使用了

标签。

https://meldeservice-test.oekb.at/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

在你的认证文件中,它是这样的。
meldeservice-test.oekb.at:8080/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

尝试移除端口号,将其更改为:
https://user:pwd@meldeservice-test.oekb.at/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

1

需要保存wsdl的本地副本吗?没有通过wsimport直接导入客户端工件的有效方法吗? - nanosoft

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接