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

是我得到的错误

[错误] 服务器返回 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 ]://用户:密码@主机:端口//

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

有人可以在类似条件下帮助我提供一个工作示例。我已经搜索了很多,但找不到任何对我有帮助的东西。

是否有 wsimport 工具的可下载源代码?这将作为最后的手段使用。

4

2 回答 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
于 2014-11-21T23:54:27.257 回答
1

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

使用您的浏览器并保存到本地文件夹。稍后您可以像这样使用 wsimport:

wsimport -keep -sc:\generatedWebService_wsImport\ -p the.java.package.I.want.to.call.it /home/user/Download/example?WSDL

问候,

于 2013-11-26T10:20:20.257 回答